找回密码
 立即注册
首页 业界区 安全 YOLOv5 配置与训练笔记

YOLOv5 配置与训练笔记

袋岖荤 2025-6-1 18:23:29
自用备份,Windows 端 YOLOv5 配置和训练为主,代码为核心,记录踩坑和关键点。
环境准备


  • 系统:Windows 10/11
  • Python:3.9(其他版本容易崩)
  • GPU(可选):NVIDIA + CUDA 11.8(CPU 也能跑,慢点)
  • FFmpeg:解压后放根目录(视数据集需求)
下载与安装

直接去 YOLOv5 项目页,点“Code”按钮,选“Download ZIP”。解压到 D:\YOLOv5(路径自定)。
进目录,双击 detect.py 检查环境,或者手动装:

  • Python 3.9:
    1. python --version  # 确认 3.9.x
    复制代码
  • 建虚拟环境:
    1. python -m venv venv
    2. venv\Scripts\activate
    复制代码
  • 装依赖:
    1. pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    复制代码
  • PyTorch:

    • GPU:
      1. pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
      复制代码
    • CPU:
      1. pip install torch torchvision torchaudio
      复制代码
    • 检查:
      1. python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
      复制代码

数据集准备


  • 打标工具:用 labelImg

    • 安装:
      1. pip install labelImg
      复制代码
    • 运行:
      1. labelImg
      复制代码
    • 注意:保存格式选 YOLO,生成 .txt,每行 class x_center y_center width height(归一化)。

  • 目录结构:
    1. D:\YOLOv5\data\
    2.   images\
    3.     train\
    4.     val\
    5.   labels\
    6.     train\
    7.     val\
    复制代码
  • 配置 data.yaml:
    1. train: D:/YOLOv5/data/images/train
    2. val: D:/YOLOv5/data/images/val
    3. nc: 2
    4. names: ['cat', 'dog']
    复制代码
  • 注意:训练集每类至少 50-100 张,验证集 10-20%,太少过拟合。
训练


  • 跑训练
    1. python train.py --img 640 --batch 16 --epochs 50 --data data/data.yaml --weights yolov5s.pt
    复制代码

    • 参数:--img 图片大小,--batch 批次,--epochs 轮数,--weights 预训练模型。

  • 输出:runs\train\exp\weights\best.pt(最佳权重),runs\train\exp\results.txt(日志)。
TensorBoard 配置


  • 安装:
    1. pip install tensorboard
    复制代码
  • 运行:
    1. tensorboard --logdir runs/train
    复制代码
  • 浏览器打开:http://localhost:6006,看 loss、mAP 等曲线。
  • 注意:训练时日志默认存 runs/train,多实验会分 exp, exp2。
推理


  • 命令行推理
    1. python detect.py --weights runs/train/exp/weights/best.pt --img 640 --conf 0.25 --source data/images/test
    复制代码

    • --source 常用:

      • data/images/test:文件夹
      • image.jpg:单图
      • video.mp4:视频
      • 0:摄像头


  • 结果:runs\detect\exp。
WebUI 配置(Gradio)


  • 安装:
    1. pip install gradio
    复制代码
  • 新建 webui.py(放 D:\YOLOv5 下):
    1. import torch
    2. import gradio as gr
    3. model = torch.hub.load("./", "custom", path="./runs/train/exp/weights/best.pt", source="local")
    4. title = "基于Gradio的YOLOv5演示项目"
    5. desc = "这是一个基于Gradio的YOLOv5演示项目"
    6. gr.Interface(inputs=[gr.Image()],
    7.              outputs=["image"],
    8.              title=title,
    9.              description=desc,
    10.              fn=lambda img: model(img).render()[0]
    11.              ).launch()
    复制代码
  • 运行:
    1. python webui.py
    复制代码
  • 浏览器打开弹出的地址(默认 http://127.0.0.1:7860),上传图片,显示检测结果。
  • 注意:权重路径改成自己的(比如 runs/train/exp/weights/best.pt)。
属性介绍


  • 模型变体

    • yolov5s:快,低精度
    • yolov5m:平衡
    • yolov5l:高精度,显存多
    • yolov5x:最强,慢

  • 超参数(data/hyp.scratch.yaml):

    • lr0:学习率,默认 0.01
    • momentum:动量,默认 0.937
    • box:框损失,默认 0.05

  • 数据增强:默认开 mosaic。
注意

<ul>显存不足:调小 --batch 或用 yolov5s。
推理慢:加 --half 半精度。
标签错:检查 data.yaml 和 .txt 一致。
数据集小:每类
您需要登录后才可以回帖 登录 | 立即注册