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 生成)

相关推荐
就叫飞六吧25 分钟前
找不到或无法加载主类 @C:\***\Local\Temp\idea_arg_file...
java·ide·intellij-idea
BD_Marathon1 小时前
【JavaWeb】VsCode的其他常见设置
ide·vscode·编辑器
landian0042 小时前
vscode对于txt格式文件使用tab缩进为3个空格
ide·vscode·编辑器
阿阿阿阿里郎3 小时前
Vscode+STM32CubeMX+Cmake联合开发教
ide·vscode·编辑器
vortex54 小时前
为什么我把VSCode换成了Code-Server
ide·vscode·编辑器
0和1的舞者5 小时前
《Maven 核心功能与仓库体系详解》
ide·maven·项目管理·仓库·依赖
Coding茶水间5 小时前
基于深度学习的西红柿成熟度检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
AI_56786 小时前
从“插件装一堆”到“效率翻一倍”——IntelliJ IDEA的插件化开发革命
java·ide·intellij-idea
HECUgauss8 小时前
VScode 使用中遇到的问题
ide·vscode·编辑器
YOULANSHENGMENG8 小时前
YOLOV8_obb的C++的工程实现---2)yolov8_obb工程部署
yolo