YOLOv5 自定义目标检测训练实战:训练曲线、验证样本与批量推理
2026/7/21 4:48:11 网站建设 项目流程

YOLOv5 自定义目标检测训练实战:训练曲线、验证样本与批量推理


这篇教程根据我复现 YOLOv5 自定义目标检测流程时整理,重点演示数据集准备、模型训练、训练曲线查看和测试集推理。

本文整理自我的学习和项目复现过程,尽量按实操顺序保留 notebook 的关键步骤,同时把数据集获取方式调整为适合中文教程发布的写法。

本文会重点跑通以下流程:

  • 安装 YOLOv5 环境
  • 从数据集后台获取检测数据
  • 训练 YOLOv5s 模型
  • 查看训练曲线和增强样本
  • 用 best.pt 批量推理

如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型,建议收藏本文;配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住,可以在评论区说明具体报错。

📚 文章目录

  • YOLOv5 自定义目标检测训练实战:训练曲线、验证样本与批量推理
    • ⚙️ 环境准备
    • 🧩 安装 YOLOv5
    • 📦 从数据集后台获取数据
    • 🏋️ 训练检测模型
    • 📊 训练结果查看
    • 🧪 推理与展示
    • 📤 部署说明
    • 📌 小结
    • 📚 同系列教程汇总

⚙️ 环境准备

先检查 GPU 与基础运行环境。建议优先使用 Colab GPU 或本地 NVIDIA GPU 环境。

!nvidia-smi

🧩 安装 YOLOv5

克隆 YOLOv5 仓库并安装依赖。

# clone YOLOv5 repository%cd/content !git clone https://github.com/ultralytics/yolov5
# install dependencies as necessary!pip install-r requirements.txt !pip uninstall wandb-qy# deprecated dependencyimporttorchfromIPython.displayimportImage,clear_output# to display images# clear_output()print('Setup complete. Using torch %s %s'%(torch.__version__,torch.cuda.get_device_properties(0)iftorch.cuda.is_available()else'CPU'))

📦 从数据集后台获取数据

下面按 notebook 原流程继续执行。

fromtypesimportSimpleNamespace# 从数据集后台下载 YOLO 检测 格式数据集后,修改 DATASET_DIR 指向解压目录。DATASET_DIR="/content/dataset"# 修改为数据集后台导出的数据集目录dataset=SimpleNamespace(location=DATASET_DIR,version="1",name="custom-dataset")

🏋️ 训练检测模型

下面按 notebook 原流程继续执行。

# train yolov5s on custom data for 25 epochs# time its performance%%time%cd/content/yolov5/!python train.py \--img416\--batch16\--epochs25\--data{dataset.location}/data.yaml \--weights yolov5s.pt \--name yolov5s_results \--cache

📊 训练结果查看

训练后查看曲线、验证 batch 和增强样本,排查数据问题。

fromutils.plotsimportplot_results# plot results.txt as results.pngImage(filename='/content/yolov5/runs/train/yolov5s_results/results.png',width=1000)

Image(filename='/content/yolov5/runs/train/yolov5s_results/val_batch0_labels.jpg',width=900)

# print out an augmented training exampleprint("GROUND TRUTH AUGMENTED TRAINING DATA:")Image(filename='/content/yolov5/runs/train/yolov5s_results/train_batch0.jpg',width=900)

🧪 推理与展示

使用训练好的权重在测试集上做推理并展示结果。

# trained weights are saved by default in our weights folder%ls runs/
%ls runs/train/yolov5s_results/weights
%cd/content/yolov5/!python detect.py--weights runs/train/yolov5s_results/weights/best.pt--img416--conf0.35--source{dataset.location}/test/images/
importglobfromIPython.displayimportImage,displayforimageNameinglob.glob('/content/yolov5/runs/detect/exp/*.jpg')[:10]:#assuming JPGdisplay(Image(filename=imageName))







📤 部署说明

Notebook 原流程包含在线部署。这里保留本地模型路径,方便接入自己的部署流程。

# 可选:将训练得到的模型目录接入自己的部署流程。MODEL_DIR="./runs"MODEL_DIR
# 可选:部署完成后,可在这里接入自己的在线推理服务进行测试。

📌 小结

这篇教程完整整理了YOLOv5 自定义目标检测训练的核心复现流程。实际操作时,建议先确认 GPU、依赖版本、数据集路径和模型权重路径,再逐段运行 notebook。

后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。

📚 同系列教程汇总

  • Google Gemini 3.5 Flash 零样本目标检测教程:从提示词到可视化结果

  • GLM-OCR 文档识别实战教程:从验证码、公式到车牌 OCR

  • RF-DETR + ByteTrack 多目标跟踪实战教程:从命令行到 Python 视频轨迹可视化

  • SAM 3 图像分割实战教程:文本、框和点提示的多种分割方式

  • SAM 3 视频分割实战教程:用文本提示分割并跟踪视频中的目标

  • YOLOv5 自定义目标检测训练实战:训练曲线、验证样本与批量推理-本文

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询