YOLOv5(三):Jupyter
- tutorial.ipynb
这份 JSON 内容是 YOLOv5 v6.1 官方教程的 Jupyter Notebook 完整结构,包含环境配置、推理、验证、训练、可视化等核心流程,以下是按逻辑整理的解析:
一、文档基础信息
-
类型:YOLOv5 官方教程(Jupyter Notebook),适配 Google Colab 环境(含 GPU 加速配置)。
-
版本:基于 YOLOv5 v6.0-48-g84a8099,依赖 PyTorch≥1.7,支持 CUDA 加速。
-
许可证:GPL-3.0,官方维护方为 Ultralytics。
二、核心内容解析
1. 环境搭建(Setup)
-
目标:克隆仓库、安装依赖、验证环境(PyTorch 与 GPU 可用性)。
-
关键操作:
!git clone https://github.com/ultralytics/yolov5 # 克隆仓库%cd yolov5%pip install -qr requirements.txt # 安装依赖(含PyTorch、OpenCV等)
- 环境检查:通过
utils.notebook_init()验证 GPU 是否可用(输出显示CUDA:0及显存信息,如Tesla V100-SXM2-16GB)。
2. 推理(Inference)
-
功能:使用预训练模型对图像、视频等数据源进行目标检测,结果保存至
runs/detect。 -
支持的输入源:摄像头(
0)、本地图像(img.jpg)、视频(vid.mp4)、目录(path/)、YouTube 链接、RTSP 流等。 -
示例代码:
!python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images
-
--weights:模型权重(yolov5s.pt为轻量模型); -
--img:输入图像尺寸(640x640); -
--conf:置信度阈值(0.25); -
--source:输入数据源(data/images含示例图像 zidane.jpg、bus.jpg)。
- 输出结果:检测到的目标类别(如 “person”“bus”“tie”)、置信度及坐标,图像保存至
runs/detect/exp。
3. 模型验证(Validate)
-
目标:在标准数据集(如 COCO)上评估模型精度(mAP 等指标)。
-
COCO val 验证:
- 下载 COCO val 2017 数据集(5000 张图像):
-
torch.hub.download\_url\_to\_file('https://ultralytics.com/assets/coco2017val.zip', 'tmp.zip')!unzip -q tmp.zip -d ../datasets && rm tmp.zip
- 用
yolov5x.pt(大型模型)验证:
!python val.py --weights yolov5x.pt --data coco.yaml --img 640 --iou 0.65 --half
- 输出指标:mAP@0.5(0.689)、mAP@0.5:0.95(0.507),以及不同尺寸目标(小 / 中 / 大)的精度。
-
COCO test 验证:
- 下载 COCO test2017 数据集(40000 张图像),生成符合评估服务器格式的
*.json结果文件,用于提交至 COCO 官方评估平台。
- 下载 COCO test2017 数据集(40000 张图像),生成符合评估服务器格式的
4. 模型训练(Train)
-
目标:在自定义或标准数据集上训练模型,支持预训练权重微调或从头训练。
-
关键参数:
-
--data:数据集配置文件(如coco128.yaml,含 128 张 COCO 子集); -
--weights:预训练权重(yolov5s.pt)或从头训练(''); -
--epochs:训练轮次; -
--batch:批处理大小; -
--img:输入图像尺寸。
-
-
示例代码(COCO128 数据集训练 3 轮):
!python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache
-
训练结果:保存至
runs/train/exp,含权重文件(last.pt/best.pt)、训练日志、混淆矩阵等。 -
辅助工具:
-
Tensorboard:实时可视化损失、精度曲线(
%tensorboard --logdir runs/train); -
Weights & Biases(W&B):云端日志记录与团队协作(需
pip install wandb)。
-
5. 可视化(Visualize)
-
W&B 日志:实时查看训练过程(损失、学习率、mAP)、样本预测结果,支持生成报告分享。
-
本地日志:
-
训练批次图像(
train_batch0.jpg):展示 4 张图像拼接的 “马赛克” 数据增强效果; -
验证标签与预测(
test_batch0_labels.jpg/test_batch0_pred.jpg):对比真实标签与模型预测; -
结果曲线(
results.png):由results.csv生成,包含训练 / 验证损失、mAP 等指标趋势。
-
6. 支持环境(Environments)
- 兼容平台:Google Colab/Kaggle(免费 GPU)、Google Cloud Deep Learning VM、Amazon Deep Learning AMI、Docker 镜像(
ultralytics/yolov5)。
7. 附录(Appendix)
-
功能扩展:
-
模型重现性验证:对比不同模型(
yolov5n/s/m/l/x)的速度与精度; -
PyTorch Hub 调用:通过
torch.hub.load快速加载模型推理; -
CI 测试:验证训练、验证、推理、导出功能在多系统(MacOS/Windows/Ubuntu)的兼容性;
-
模型导出:支持 TensorRT、ONNX 等格式(如
export.py`` --include engine); -
超参数进化(Evolve):自动优化超参数提升性能;
-
VOC 数据集训练:适配经典目标检测数据集。
-
总结
该教程完整覆盖了 YOLOv5 v6.1 的核心流程:从环境搭建到推理、验证、训练,再到结果可视化,同时提供了扩展功能(如自定义数据训练、模型导出)的示例,适合新手快速入门目标检测任务。
(注:文档部分内容可能由 AI 生成)
