自用备份,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:

    python --version  # 确认 3.9.x
  • 建虚拟环境:

    python -m venv venv
    venv\Scripts\activate
  • 装依赖:

    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  • PyTorch:

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

数据集准备

  • 打标工具:用 labelImg

    • 安装:
      pip install labelImg
    • 运行:
      labelImg
    • 注意:保存格式选 YOLO,生成 .txt,每行 class x_center y_center width height(归一化)。
  • 目录结构:
    D:\YOLOv5\data\
    images\
    train\
    val\
    labels\
    train\
    val\
  • 配置 data.yaml
    train: D:/YOLOv5/data/images/train
    val: D:/YOLOv5/data/images/val
    nc: 2
    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 预训练模型。
  2. 输出runs\train\exp\weights\best.pt(最佳权重),runs\train\exp\results.txt(日志)。

TensorBoard 配置

  • 安装:
    pip install tensorboard
  • 运行:
    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:摄像头
  2. 结果runs\detect\exp

WebUI 配置(Gradio)

  • 安装:
    pip install gradio
  • 新建 webui.py(放 D:\YOLOv5 下):
    import torch
    import gradio as gr model = torch.hub.load("./", "custom", path="./runs/train/exp/weights/best.pt", source="local") title = "基于Gradio的YOLOv5演示项目"
    desc = "这是一个基于Gradio的YOLOv5演示项目" gr.Interface(inputs=[gr.Image()],
    outputs=["image"],
    title=title,
    description=desc,
    fn=lambda img: model(img).render()[0]
    ).launch()
  • 运行:
    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。

注意

  • 显存不足:调小 --batch 或用 yolov5s
  • 推理慢:加 --half 半精度。
  • 标签错:检查 data.yaml.txt 一致。
  • 数据集小:每类 <50 张精度差。

问题

  • 训练卡住:换源或手动下权重。
  • 检测不出:路径错或 --conf 太高。
  • CUDA 报错:版本不匹配。
  • TensorBoard 空白:确认 runs/train 有日志。
  • WebUI 报错:检查权重路径或 Gradio 版本。

补充

  • 数据集:可用 Roboflow 导出 YOLO 格式。
  • 调试:训练加 --nosave

YOLOv5 配置与训练笔记的更多相关文章

  1. VS2010/2012配置优化记录笔记

    VS2010/2012配置优化记录笔记 在某些情况下VS2010/2012运行真的实在是太卡了,有什么办法可以提高速度吗?下面介绍几个优化策略,感兴趣的朋友可以参考下,希望可以帮助到你   有的时候V ...

  2. STL的空间配置器std_alloc 笔记

    STL的空间配置器std_alloc 笔记 C++的内存分配基本操作是 ::operator new(),内存释放是 ::operator delete(),这里个全局函数相当于C的malloc和fr ...

  3. Vim配置及使用笔记

    Vim配置及使用笔记 安装 apt-get install vim -y 配置说明 vim /etc/vim/vimrc 在配置文件后加入这些配置项 set nu set tabstop=4 set ...

  4. jupyter 安装、配置及使用笔记

    jupyter 安装.配置及使用笔记 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-2-22 絮絮叨叨篇的前言 早在大 ...

  5. JDK下载、安装、配置环境变量笔记

    自己总是在下载.安装.配置JDK的环境变量,但是这些需要的专业知识并不难,但有很多细节很重要,总是记不住,而且这些细节一旦出错影响还是很严重的,在网上查到的信息很多都比较零散,而且讲解得也不是很详细, ...

  6. faster r-cnn 在CPU配置下训练自己的数据

    因为没有GPU,所以在CPU下训练自己的数据,中间遇到了各种各样的坑,还好没有放弃,特以此文记录此过程. 1.在CPU下配置faster r-cnn,参考博客:http://blog.csdn.net ...

  7. Topcoder Arena插件配置和训练指南

    一. Arena插件配置 1. 下载Arena 指针:http://community.topcoder.com/tc?module=MyHome 左边Competitions->Algorit ...

  8. Tomcat安装、配置和部署笔记

    首先从Apache的官方网站(http://tomcat.apache.org/)下载Tomcat.有安装版和解压版两种,我个人喜欢用解压版. Tomcat安装(绿色版安装) 1.将下载的Tomcat ...

  9. gitlab centos 安装配置运维笔记

    写在前面 如果你需要一个git服务器,为企业或自己的团队托管代码而又不希望将代码仓库存储到第三方.你可以在自己的服务器上搭建一个gitlab. 本文为我在最初安装配置gitlab服务器的时候留存的笔记 ...

  10. Win10中用yolov3训练自己的数据集全过程(VS、CUDA、CUDNN、OpenCV配置,训练和测试)

    在Windows系统的Linux系统中用yolo训练自己的数据集的配置差异很大,今天总结在win10中配置yolo并进行训练和测试的全过程. 提纲: 1.下载适用于Windows的darknet 2. ...

随机推荐

  1. SciTech-Mathmatics-Probability+Statistics-Conditional Probability + Bayes Theorem+App.: 条件概率+Bayes原理及应用:广告邮件分类

    SciTech-Mathmatics-Probability+Statistics Conditional Probability + Bayes Formula: Application: Cond ...

  2. SciTech-BigDataAIML-Tensorflow-Keras API-Layers层的API:inputs输入 + outputs产出 + states(weights权重)

    https://keras.io/api/layers/ How to Use Word Embedding Layers for Deep Learning with Keras Layer层 是K ...

  3. SciTech-EECS-EDA-Altium Designer-FTDI FT232- Xilinx JTAG Programmer + Debugger

    Origin: https://matthewtran.dev/2021/08/ftdi-xilinx-jtag-programmer/ Matthew Tran Article Literally ...

  4. c++ 数据类型及范围

    short: \(-2^{15}\sim 2^{15}-1\) unsigned short: \(0\sim 2^{16}-1\) int: \(-2^{31}\sim 2^{31}-1\) uns ...

  5. Mybatis之数据库连接+PageHelper分页插件+Mybatis-Plus插件

    MyBatis Plus 教程(人人便成为) https://www.cnblogs.com/chch213/p/16320820.html 前言 ORM框架:对象关系映射  object relat ...

  6. Git在Windows下安装配置

    Windows安装包:https://git-scm.com/downloads/win github的注册和git的配置(因为初学Java于是决定先装的Windows版本) 1.在Git Bush配 ...

  7. A - Expedition

    https://vjudge.net/contest/393971#overview http://poj.org/problem?id=2431 A group of cows grabbed a ...

  8. Java集合——15.使用Collections

    目录 Java 集合工具类 Collections 批量添加元素:addAll() List排序与洗牌:sort()和shuffle() 排序 随机打乱元素 不可变集合的转换 总结 Java 集合工具 ...

  9. 2025主流BPM厂商推荐榜:赋能企业数字化转型的核心引擎

    在数字化转型进入深水区的 2025 年,业务流程管理 (BPM) 平台已成为企业提升运营效率.增强敏捷性与合规性的战略核心.随着低代码应用的深入和 AI 技术的蓬勃发展,全球及中国 BPM 市场正处于 ...

  10. python中多线程和多进程的区别

    希望在1分钟内完成500架无人机的路径规划任务,而目前A*算法在50架无人机的情况下需要10秒,意味着在不做优化的情况下处理500架无人机将需要大约100秒,超出你的指标要求.提升计算速度是关键.多线 ...