yolov5: yolov5官方源码 |
您所在的位置:网站首页 › yolov5百度 › yolov5: yolov5官方源码 |
中文 | 한국어 | 日本語 | Русский | Deutsch | Français | Español | Português | हिन्दी | العربية YOLOv5 🚀 是世界上最受欢迎的视觉 AI,代表 Ultralytics 对未来视觉 AI 方法的开源研究,结合在数千小时的研究和开发中积累的经验教训和最佳实践。 我们希望这里的资源能帮助您充分利用 YOLOv5。请浏览 YOLOv5 文档 了解详细信息,在 GitHub 上提交问题以获得支持,并加入我们的 Discord 社区进行问题和讨论! 如需申请企业许可,请在 Ultralytics Licensing 处填写表格 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 我们很高兴宣布 Ultralytics YOLOv8 🚀 的发布,这是我们新推出的领先水平、最先进的(SOTA)模型,发布于 https://github.com/ultralytics/ultralytics。 YOLOv8 旨在快速、准确且易于使用,使其成为广泛的物体检测、图像分割和图像分类任务的极佳选择。 请查看 YOLOv8 文档了解详细信息,并开始使用:
![]() 有关训练、测试和部署的完整文档见YOLOv5 文档。请参阅下面的快速入门示例。 安装克隆 repo,并要求在 Python>=3.8.0 环境中安装 requirements.txt ,且要求 PyTorch>=1.8 。 git clone https://github.com/ultralytics/yolov5 # clone cd yolov5 pip install -r requirements.txt # install 推理使用 YOLOv5 PyTorch Hub 推理。最新 模型 将自动的从 YOLOv5 release 中下载。 import torch # Model model = torch.hub.load("ultralytics/yolov5", "yolov5s") # or yolov5n - yolov5x6, custom # Images img = "https://ultralytics.com/images/zidane.jpg" # or file, Path, PIL, OpenCV, numpy, list # Inference results = model(img) # Results results.print() # or .show(), .save(), .crop(), .pandas(), etc. 使用 detect.py 推理detect.py 在各种来源上运行推理, 模型 自动从 最新的YOLOv5 release 中下载,并将结果保存到 runs/detect 。 python detect.py --weights yolov5s.pt --source 0 # webcam img.jpg # image vid.mp4 # video screen # screenshot path/ # directory list.txt # list of images list.streams # list of streams 'path/*.jpg' # glob 'https://youtu.be/LNwODJXcvt4' # YouTube 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream 训练下面的命令重现 YOLOv5 在 COCO 数据集上的结果。 最新的 模型 和 数据集 将自动的从 YOLOv5 release 中下载。 YOLOv5n/s/m/l/x 在 V100 GPU 的训练时间为 1/2/4/6/8 天( 多GPU 训练速度更快)。 尽可能使用更大的 --batch-size ,或通过 --batch-size -1 实现 YOLOv5 自动批处理 。下方显示的 batchsize 适用于 V100-16GB。 python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5n.yaml --batch-size 128 yolov5s 64 yolov5m 40 yolov5l 24 yolov5x 16![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Ultralytics HUB 是我们的⭐新的用于可视化数据集、训练 YOLOv5 🚀 模型并以无缝体验部署到现实世界的无代码解决方案。现在开始 免费 使用他! ![]() YOLOv5 超级容易上手,简单易学。我们优先考虑现实世界的结果。 我们新的 YOLOv5 release v7.0 实例分割模型是世界上最快和最准确的模型,击败所有当前 SOTA 基准。我们使它非常易于训练、验证和部署。更多细节请查看 发行说明 或访问我们的 YOLOv5 分割 Colab 笔记本 以快速入门。 实例分割模型列表![]() 我们使用 A100 GPU 在 COCO 上以 640 图像大小训练了 300 epochs 得到 YOLOv5 分割模型。我们将所有模型导出到 ONNX FP32 以进行 CPU 速度测试,并导出到 TensorRT FP16 以进行 GPU 速度测试。为了便于再现,我们在 Google Colab Pro 上进行了所有速度测试。 模型 尺寸(像素) mAPbox50-95 mAPmask50-95 训练时长300 epochsA100 GPU(小时) 推理速度ONNX CPU(ms) 推理速度TRT A100(ms) 参数量(M) FLOPs@640 (B) YOLOv5n-seg 640 27.6 23.4 80:17 62.7 1.2 2.0 7.1 YOLOv5s-seg 640 37.6 31.7 88:16 173.3 1.4 7.6 26.4 YOLOv5m-seg 640 45.0 37.1 108:36 427.0 2.2 22.0 70.8 YOLOv5l-seg 640 49.0 39.9 66:43 (2x) 857.4 2.9 47.9 147.7 YOLOv5x-seg 640 50.7 41.4 62:56 (3x) 1579.2 4.5 88.8 265.7 所有模型使用 SGD 优化器训练, 都使用 lr0=0.01 和 weight_decay=5e-5 参数, 图像大小为 640 。训练 log 可以查看 https://wandb.ai/glenn-jocher/YOLOv5_v70_official 准确性结果都在 COCO 数据集上,使用单模型单尺度测试得到。复现命令 python segment/val.py --data coco.yaml --weights yolov5s-seg.pt 推理速度是使用 100 张图像推理时间进行平均得到,测试环境使用 Colab Pro 上 A100 高 RAM 实例。结果仅表示推理速度(NMS 每张图像增加约 1 毫秒)。复现命令 python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1 模型转换到 FP32 的 ONNX 和 FP16 的 TensorRT 脚本为 export.py.运行命令 python export.py --weights yolov5s-seg.pt --include engine --device 0 --half 分割模型使用示例YOLOv5分割训练支持自动下载 COCO128-seg 分割数据集,用户仅需在启动指令中包含 --data coco128-seg.yaml 参数。 若要手动下载,使用命令 bash data/scripts/get_coco.sh --train --val --segments, 在下载完毕后,使用命令 python train.py --data coco.yaml 开启训练。 # 单 GPU python segment/train.py --data coco128-seg.yaml --weights yolov5s-seg.pt --img 640 # 多 GPU, DDP 模式 python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --data coco128-seg.yaml --weights yolov5s-seg.pt --img 640 --device 0,1,2,3 验证在 COCO 数据集上验证 YOLOv5s-seg mask mAP: bash data/scripts/get_coco.sh --val --segments # 下载 COCO val segments 数据集 (780MB, 5000 images) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # 验证 预测使用预训练的 YOLOv5m-seg.pt 来预测 bus.jpg: python segment/predict.py --weights yolov5m-seg.pt --source data/images/bus.jpg model = torch.hub.load( "ultralytics/yolov5", "custom", "yolov5m-seg.pt" ) # 从load from PyTorch Hub 加载模型 (WARNING: 推理暂未支持)![]() ![]() 将 YOLOv5s-seg 模型导出到 ONNX 和 TensorRT: python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0 分类网络 ⭐ 新YOLOv5 release v6.2 带来对分类模型训练、验证和部署的支持!详情请查看 发行说明 或访问我们的 YOLOv5 分类 Colab 笔记本 以快速入门。 分类网络模型我们使用 4xA100 实例在 ImageNet 上训练了 90 个 epochs 得到 YOLOv5-cls 分类模型,我们训练了 ResNet 和 EfficientNet 模型以及相同的默认训练设置以进行比较。我们将所有模型导出到 ONNX FP32 以进行 CPU 速度测试,并导出到 TensorRT FP16 以进行 GPU 速度测试。为了便于重现,我们在 Google 上进行了所有速度测试 Colab Pro 。 模型 尺寸(像素) acctop1 acctop5 训练时长90 epochs4xA100(小时) 推理速度ONNX CPU(ms) 推理速度TensorRT V100(ms) 参数(M) FLOPs@640 (B) YOLOv5n-cls 224 64.6 85.4 7:59 3.3 0.5 2.5 0.5 YOLOv5s-cls 224 71.5 90.2 8:09 6.6 0.6 5.4 1.4 YOLOv5m-cls 224 75.9 92.9 10:06 15.5 0.9 12.9 3.9 YOLOv5l-cls 224 78.0 94.0 11:56 26.9 1.4 26.5 8.5 YOLOv5x-cls 224 79.0 94.4 15:04 54.3 1.8 48.1 15.9 ResNet18 224 70.3 89.5 6:47 11.2 0.5 11.7 3.7 Resnetzch 224 73.9 91.8 8:33 20.6 0.9 21.8 7.4 ResNet50 224 76.8 93.4 11:10 23.4 1.0 25.6 8.5 ResNet101 224 78.5 94.3 17:10 42.1 1.9 44.5 15.9 EfficientNet_b0 224 75.1 92.4 13:03 12.5 1.3 5.3 1.0 EfficientNet_b1 224 76.4 93.2 17:04 14.9 1.6 7.8 1.5 EfficientNet_b2 224 76.6 93.4 17:10 15.9 1.6 9.1 1.7 EfficientNet_b3 224 77.7 94.0 19:19 18.9 1.9 12.2 2.4 Table Notes (点击以展开) 所有模型都使用 SGD 优化器训练 90 个 epochs,都使用 lr0=0.001 和 weight_decay=5e-5 参数, 图像大小为 224 ,且都使用默认设置。训练 log 可以查看 https://wandb.ai/glenn-jocher/YOLOv5-Classifier-v6-2 准确性都在单模型单尺度上计算,数据集使用 ImageNet-1k 。复现命令 python classify/val.py --data ../datasets/imagenet --img 224 推理速度是使用 100 个推理图像进行平均得到,测试环境使用谷歌 Colab Pro V100 高 RAM 实例。复现命令 python classify/val.py --data ../datasets/imagenet --img 224 --batch 1 模型导出到 FP32 的 ONNX 和 FP16 的 TensorRT 使用 export.py 。复现命令 python export.py --weights yolov5s-cls.pt --include engine onnx --imgsz 224 分类训练示例YOLOv5 分类训练支持自动下载 MNIST、Fashion-MNIST、CIFAR10、CIFAR100、Imagenette、Imagewoof 和 ImageNet 数据集,命令中使用 --data 即可。 MNIST 示例 --data mnist 。 # 单 GPU python classify/train.py --model yolov5s-cls.pt --data cifar100 --epochs 5 --img 224 --batch 128 # 多 GPU, DDP 模式 python -m torch.distributed.run --nproc_per_node 4 --master_port 1 classify/train.py --model yolov5s-cls.pt --data imagenet --epochs 5 --img 224 --device 0,1,2,3 验证在 ImageNet-1k 数据集上验证 YOLOv5m-cls 的准确性: bash data/scripts/get_imagenet.sh --val # download ImageNet val split (6.3G, 50000 images) python classify/val.py --weights yolov5m-cls.pt --data ../datasets/imagenet --img 224 # validate 预测使用预训练的 YOLOv5s-cls.pt 来预测 bus.jpg: python classify/predict.py --weights yolov5s-cls.pt --source data/images/bus.jpg model = torch.hub.load( "ultralytics/yolov5", "custom", "yolov5s-cls.pt" ) # load from PyTorch Hub 模型导出将一组经过训练的 YOLOv5s-cls、ResNet 和 EfficientNet 模型导出到 ONNX 和 TensorRT: python export.py --weights yolov5s-cls.pt resnet50.pt efficientnet_b0.pt --include onnx engine --img 224 环境使用下面我们经过验证的环境,在几秒钟内开始使用 YOLOv5 。单击下面的图标了解详细信息。 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 我们喜欢您的意见或建议!我们希望尽可能简单和透明地为 YOLOv5 做出贡献。请看我们的 投稿指南,并填写 YOLOv5调查 向我们发送您的体验反馈。感谢我们所有的贡献者! ![]() Ultralytics 提供两种许可证选项以适应各种使用场景: AGPL-3.0 许可证:这个OSI 批准的开源许可证非常适合学生和爱好者,可以推动开放的协作和知识分享。请查看LICENSE 文件以了解更多细节。 企业许可证:专为商业用途设计,该许可证允许将 Ultralytics 的软件和 AI 模型无缝集成到商业产品和服务中,从而绕过 AGPL-3.0 的开源要求。如果您的场景涉及将我们的解决方案嵌入到商业产品中,请通过 Ultralytics Licensing与我们联系。 联系方式对于 Ultralytics 的错误报告和功能请求,请访问 GitHub Issues,并加入我们的 Discord 社区进行问题和讨论! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |