自用备份,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. 云原生应用开发“12-Factors”

    12 Factor 简介 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS).12-Factor 为构建如下的 SaaS 应用提供了方法论: 使用标准化流程自动配置, ...

  2. IDLE与pycharm、Anaconda、spyder

    一.IDLE与pycharm.Anaconda的关系IDLEpython 程序的集成开发环境,IDLE是自带集成开发环境,可以运行和调试一些简单的小程序,开始学习Python的时候用的比较多,但不适合 ...

  3. JSP总结(经典)

    摘自:https://www.cnblogs.com/cyjch/archive/2012/03/28/2420798.html day1 JSP 定义:     1)Java Server Page ...

  4. markdown符号双下标如何实现? 行内公式 | 上标下标 | 行内公式 | 单独公式快

    实现效果: 一.行内公式: \(J^x_{ij}\) 二.换行单独的公式块: \[J^x_{ij} \] 如何实现? 一.行内公式: $J^x_{ij}$ 二.换行单独的公式块: $$ J^x_{ij ...

  5. BMS和AFE通信问题

    接插件导致通信失效问题报告 问题描述: 整个系统是由5个电池包组成,1个电池包外挂1个采集子板,每个子板共2个AFE. 板间以及板内均为变压器隔离. 由于储能项目一个标准箱子里面放置了两个电池包,因此 ...

  6. Ubuntu 22.04 安装 XRDP

    Ubuntu 22.04 安装 XRDP,替代系统自带RDP远程桌面 原因:Ubuntu的自带RDP远程桌面很好用,但很傻,必须设置自动登录才能用.而设置了自动登录也不能解开KEYRING,必须在电脑 ...

  7. 音视频开发进阶指南:基于iOS实现超低延时耳返

    1 功能简介 在音视频应用中我们经常涉及到耳机麦克风和设备麦克风的切换.不同声道的配置.在遇到这种情况的时候,我们如何配置呢? 耳返即耳机采集监听,在设备上插入耳机(普通耳机或蓝牙耳机)后,能从本机耳 ...

  8. GPT-5 API 请求参数调整,避坑指南(汇总)

    奥特曼试了一把 GPT-5 ,瘫痪在地,大喊:我的 API 怎么跑不通了? 本篇文章来捋一下 GPT-5 系列模型的 API 参数都有哪些变化,新增的参数,以及注意事项. 欢迎补充,本帖持续更新. 省 ...

  9. 支付宝小程序IDE突然极不稳定

    前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,公司项目就是主推uni-app,因公司项目是快抖微支 ...

  10. 开源能源管理系统(EMS)深度解析:安全自主可控与实践应用

    一.开源能源管理系统的核心特点 开源 EMS 基于开源软件架构,通过集成能源监测.数据分析与优化功能,为企业提供高效能源管理方案,其核心优势体现在: 开放性与可定制性:开源代码允许企业根据业务需求深度 ...