拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Ultralytics YOLOv5 Quickstart 上手指南:环境安装、双路推理与 COCO 基准训练全流程

Ultralytics YOLOv5 Quickstart 上手指南环境安装、双路推理与 COCO 基准训练全流程【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics从零开始掌握实时目标检测入门链路本文以 Ultralytics YOLOv5 官方快速上手教程为骨架完整覆盖「环境准备 → PyTorch Hub 推理 →detect.py多源推理 → COCO 基准训练」四条主线并补充当前仓库中的模型配置与相关文档链接帮助读者在完成本次上手后能够独立将 YOLOv5 接入自己的图片、视频、摄像头与流媒体项目并复现 COCO 基准训练流程。写在前面本指南覆盖什么本指南面向希望快速进入实时目标检测领域的 AI 初学者与从业者默认读者已经了解目标检测、深度学习等基础概念。文中所有命令与脚本均取自 docs/en/yolov5/quickstart-tutorial.md并与之配套的 PyTorch Hub 模型加载教程、多 GPU 训练教程 等文档相互印证。由于本仓库以文档与统一 SDK 的形式托管 YOLOv5 相关资产文中命令行脚本train.py、detect.py等指向独立 YOLOv5 代码仓库根目录下的入口而其模型结构定义则可在本仓库 ultralytics/cfg/models/v5/yolov5.yaml 中查阅。环境准备与安装在开始之前请确认基础运行环境满足两个硬性要求Python 3.8.0YOLOv5 的依赖与脚本均基于该版本以上的语法与生态。PyTorch 1.8官方建议直接通过 PyTorch 官方渠道 按你的 CUDA / CPU 环境安装对应版本。随后克隆 YOLOv5 代码仓库并安装全部依赖git clone yolov5-repo-url # 克隆 YOLOv5 仓库 cd yolov5 pip install -r requirements.txt # 安装依赖requirements.txt中汇总了推理与训练所需的全部 Python 依赖。安装完成后模型权重与数据集如coco128.yaml、coco.yaml会在首次使用时自动从最新 release 下载无需手工准备。方式一通过 PyTorch Hub 加载模型进行推理PyTorch Hub 是 YOLOv5 官方力推的极简推理入口。它不要求你克隆任何仓库torch.hub.load会自动拉取ultralytics/yolov5的最新代码并缓存到本地之后模型权重从最新 release 自动下载。完整细节见 PyTorch Hub 模型加载教程。最小可用示例import torch # 模型加载yolov5n - yolov5x6 均可用也可传入 custom 加载自定义权重 model torch.hub.load(ultralytics/yolov5, yolov5s) # 推理输入可以是文件路径、Path、PIL、OpenCV、numpy 数组也可以是上述对象组成的列表 img https://ultralytics.com/images/zidane.jpg # 执行推理 results model(img) # 展示 / 保存 / 裁剪 / 转 pandas 等多种结果接口 results.print() # 其他可选.show()、.save()、.crop()、.pandas() 等yolov5s是 YOLOv5 中体积最小、速度最快的模型适合验证环境与快速试跑。推理结果对象支持转换为 pandas DataFrame字段包含xmin、ymin、xmax、ymax、confidence、class、name例如官方教程中zidane.jpg的输出# xmin ymin xmax ymax confidence class name # 0 749.50 43.50 1148.0 704.5 0.874023 0 person # 1 433.50 433.50 517.5 714.5 0.687988 27 tie # 2 114.75 195.75 1095.0 708.0 0.624512 0 person # 3 986.00 304.00 1028.0 420.0 0.286865 27 tie多输入与结果接口扩展PyTorch Hub 通道天然支持批量推理且输入源可混用 PIL 与 OpenCV注意 OpenCV 默认 BGR 顺序需转为 RGBimport cv2 import torch from PIL import Image model torch.hub.load(ultralytics/yolov5, yolov5s) for f in zidane.jpg, bus.jpg: torch.hub.download_url_to_file(fhttps://ultralytics.com/images/{f}, f) im1 Image.open(zidane.jpg) # PIL 图像 im2 cv2.imread(bus.jpg)[..., ::-1] # OpenCV 图像BGR → RGB results model([im1, im2], size640) # 批量推理可指定推理尺寸 results.print() results.save() # 保存到 runs/hub或使用 .show() 显示 results.xyxy[0] # 第一张图的预测张量 results.pandas().xyxy[0] # 第一张图的 pandas 表格下面两幅图片即上述示例所用的官方样例图也存放于本仓库 ultralytics/assets/ 目录下可在安装完成后直接用于验证推理管线常用推理参数速查YOLOv5 的AutoShape推理模型内置了可调属性在调用前直接赋值即可生效model.conf 0.25 # NMS 置信度阈值 model.iou 0.45 # NMS IoU 阈值 model.agnostic False # 是否类别无关 NMS model.multi_label False # 每个框是否允许多标签 model.classes None # 类别过滤如 [0, 15, 16] 只检测 COCO 的 person / cat / dog model.max_det 1000 # 每张图最大检测数 model.amp False # 是否启用自动混合精度AMP推理 results model(im, size320) # 自定义推理尺寸模型也支持推理前自由切换设备model.cpu()、model.cuda()或model.to(device)也可以在加载时直接指定例如torch.hub.load(ultralytics/yolov5, yolov5s, devicecpu)。输入图像会被自动搬运到模型所在设备。若需要静默加载、不打印 Hub 日志可传入_verboseFalse。当本地缓存异常时用force_reloadTrue强制重新拉取最新版本代码即可。自定义模型与训练用途加载Hub 通道同样支持加载本地自定义权重以及不同输入通道数、类别数的模型model torch.hub.load(ultralytics/yolov5, custom, pathpath/to/best.pt) # 本地模型 model torch.hub.load(ultralytics/yolov5, yolov5s, channels4) # 4 通道输入首层随机初始化 model torch.hub.load(ultralytics/yolov5, yolov5s, classes10) # 10 类输出输出层随机初始化 model torch.hub.load(ultralytics/yolov5, yolov5s, autoshapeFalse) # 关闭推理封装用于训练 model torch.hub.load(ultralytics/yolov5, yolov5s, autoshapeFalse, pretrainedFalse) # 从零训练其中channels、classes修改的是与预训练权重形状不匹配的首层输入层与输出层这些层会保持随机初始化其余层沿用预训练权重。方式二通过detect.py进行多源推理detect.py是 YOLOv5 的命令行推理入口适合脚本化使用以及被集成进更大的系统。它的特点是输入源极其丰富图片、视频、目录、摄像头、屏幕截图、HTTP / RTSP / RTMP 直播流乃至 YouTube 视频都可以直接作为--source传入。模型权重如yolov5s.pt缺省时自动从最新 release 下载推理结果默认保存到runs/detect/exp等目录。python detect.py --weights yolov5s.pt --source 0 # 摄像头0 号设备 python detect.py --weights yolov5s.pt --source image.jpg # 单张图片 python detect.py --weights yolov5s.pt --source video.mp4 # 视频 python detect.py --weights yolov5s.pt --source screen # 屏幕截图 python detect.py --weights yolov5s.pt --source path/ # 目录目录内全部媒体 python detect.py --weights yolov5s.pt --source list.txt # 图片列表文件一行一张 python detect.py --weights yolov5s.pt --source list.streams # 流地址列表文件 python detect.py --weights yolov5s.pt --source path/*.jpg # glob 通配符匹配 python detect.py --weights yolov5s.pt --source https://youtu.be/LNwODJXcvt4 # YouTube 视频 python detect.py --weights yolov5s.pt --source rtsp://example.com/media.mp4 # RTSP、RTMP、HTTP 直播流可以看出--source的值既可以是整数设备号也可以是字符串路径、URL 或通配符模式YOLOv5 会根据前缀自动判别来源类型。更多--source之外的推理选项如--conf-thres、--iou-thres、--img、--classes、--save-txt等可查阅 Predict 模式文档。开始训练复现 COCO 基准训练入口是train.py其典型目标是在 COCO 数据集上复现官方基准结果。模型权重与数据集coco128.yaml小数据集或完整coco.yaml同样会自动从最新 release 下载。各规格模型在 V100 GPU 上的完整 300 epoch 训练大约耗时YOLOv5n/s/m/l/x 分别约为1 / 2 / 4 / 6 / 8 天多 GPU 并行会更快详见 多 GPU 训练教程。训练经验法则是尽量使用硬件能承受的最大--batch-size或者直接使用--batch-size -1开启 AutoBatch 自动探测最优批大小。下面几组批大小是针对V100-16GBGPU 的推荐配置# 在 COCO128 上训练 YOLOv5n共 3 个 epoch验证管线用速度快 python train.py --data coco128.yaml --epochs 3 --weights yolov5n.pt --batch-size 128 # 在 COCO 上训练 YOLOv5s共 300 个 epoch python train.py --data coco.yaml --epochs 300 --weights --cfg yolov5s.yaml --batch-size 64 # 在 COCO 上训练 YOLOv5m共 300 个 epoch python train.py --data coco.yaml --epochs 300 --weights --cfg yolov5m.yaml --batch-size 40 # 在 COCO 上训练 YOLOv5l共 300 个 epoch python train.py --data coco.yaml --epochs 300 --weights --cfg yolov5l.yaml --batch-size 24 # 在 COCO 上训练 YOLOv5x共 300 个 epoch python train.py --data coco.yaml --epochs 300 --weights --cfg yolov5x.yaml --batch-size 16几个命令要点从预训练权重继续训练传--weights yolov5n.pt等从零开始训练传--weights 并显式指定--cfg yolov5s.yaml之类的模型结构文件。大规模数据集如 COCO、Objects365建议从零训练中小规模数据集建议使用预训练权重做迁移学习详见 Tips for Best Training Results。--data指定数据集配置 YAML本仓库 ultralytics/cfg/datasets/ 目录提供了coco.yaml、coco128.yaml等大量数据集配置样例字段含义与 COCO 检测数据的组织方式可参考 COCO 检测数据集文档。--cfg指定模型结构 YAML模型文件*.yaml的完整字段说明见 配置指南。以本仓库 ultralytics/cfg/models/v5/yolov5.yaml 为例文件顶部scales字段定义了 n / s / m / l / x 五档复合缩放系数depth、width、max_channels同一份结构文件通过传入modelyolov5n.yaml这样的写法即可实例化不同规格backbone与head分别以[from, number, module, args]列表形式描述 P3/8 ~ P5/32 多尺度特征提取与 FPN-PAN 结构最终由Detect(P3, P4, P5)在三个尺度输出预测。因此命令行中的--cfg yolov5s.yaml实质上是在选定「以 s 档缩放系数实例化同一份 YOLOv5 结构」。下一步继续深入的方向完成「安装 → 推理 → 训练」的快速上手闭环后可根据目标选择以下进阶路径均在 YOLOv5 文档首页 有入口自定义数据集训练准备标注数据并执行迁移学习参见 Train Custom Data 教程。提升精度数据集规模建议、批大小/学习率/数据增强调优参见 Tips for Best Training Results。多 GPU / 多机训练基于torch.distributed.run的 DistributedDataParallel 用法参见 多 GPU 训练教程。结果导出部署导出 TFLite、ONNX、CoreML、TensorRT 等格式并接入生产环境参见 模型导出教程。超参数进化自动搜索更优超参数参见 Hyperparameter Evolution 教程。免配置运行环境官方提供了预装 CUDA、CuDNN、Python、PyTorch 的 Docker 镜像见 Docker Quickstart 指南。需要特别说明的是YOLOv5 虽是久经验证的目标检测工具本仓库同时也维护着迭代版本 YOLOv8、YOLO11、YOLO26 等新模型的文档与实现。若你正处于新项目选型阶段建议同时参考仓库中 YOLOv8 模型文档、YOLO11 模型文档 与 YOLO26 模型文档 后再做决定。祝检测愉快。【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门