YOLOv5(三):Jupyter

这份 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 等指标)。

  • 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 官方评估平台。
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 生成)

相关推荐
月起星九9 小时前
vscode中claude code插件代理地址设置
ide·vscode·编辑器
myourdream212 小时前
获取VSCE_TOKEN用于发布Visual Studio Code扩展
ide·vscode·编辑器
计算机毕业设计指导12 小时前
YOLOv5+DeepSORT目标检测
人工智能·yolo·目标检测
逻极12 小时前
Claude Code 实战:Spec-Kit、Kiro、OpenSpec 规范驱动开发三剑客
ide·人工智能·驱动开发·ai·自动化
祎直向前14 小时前
vscode实现ssh远程连接
ide·vscode·ssh
yqsnjps74658ocz16 小时前
如何检查Visual Studio是否支持C++14?
c++·ide·visual studio
沉默媛18 小时前
如何下载安装以及使用labelme,一个可以打标签的工具,实现数据集处理,详细教程
图像处理·人工智能·python·yolo·计算机视觉
王哈哈^_^21 小时前
CV三大核心任务:目标检测、图像分割、关键点检测
人工智能·算法·yolo·目标检测·计算机视觉·视觉检测
newxtc21 小时前
【河北政务服务网-注册_登录安全分析报告】
人工智能·selenium·安全·yolo·政务·安全爆破