YOLOv5 配置与训练笔记
自用备份,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())"
- GPU:
数据集准备
- 打标工具:用
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%,太少过拟合。
训练
- 跑训练:
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 配置
- 安装:
pip install tensorboard
- 运行:
tensorboard --logdir runs/train
- 浏览器打开:
http://localhost:6006,看 loss、mAP 等曲线。 - 注意:训练时日志默认存
runs/train,多实验会分exp,exp2。
推理
- 命令行推理:
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)
- 安装:
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.01momentum:动量,默认 0.937box:框损失,默认 0.05
- 数据增强:默认开 mosaic。
注意
- 显存不足:调小
--batch或用yolov5s。 - 推理慢:加
--half半精度。 - 标签错:检查
data.yaml和.txt一致。 - 数据集小:每类 <50 张精度差。
问题
- 训练卡住:换源或手动下权重。
- 检测不出:路径错或
--conf太高。 - CUDA 报错:版本不匹配。
- TensorBoard 空白:确认
runs/train有日志。 - WebUI 报错:检查权重路径或 Gradio 版本。
补充
- 数据集:可用 Roboflow 导出 YOLO 格式。
- 调试:训练加
--nosave。
YOLOv5 配置与训练笔记的更多相关文章
- VS2010/2012配置优化记录笔记
VS2010/2012配置优化记录笔记 在某些情况下VS2010/2012运行真的实在是太卡了,有什么办法可以提高速度吗?下面介绍几个优化策略,感兴趣的朋友可以参考下,希望可以帮助到你 有的时候V ...
- STL的空间配置器std_alloc 笔记
STL的空间配置器std_alloc 笔记 C++的内存分配基本操作是 ::operator new(),内存释放是 ::operator delete(),这里个全局函数相当于C的malloc和fr ...
- Vim配置及使用笔记
Vim配置及使用笔记 安装 apt-get install vim -y 配置说明 vim /etc/vim/vimrc 在配置文件后加入这些配置项 set nu set tabstop=4 set ...
- jupyter 安装、配置及使用笔记
jupyter 安装.配置及使用笔记 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-2-22 絮絮叨叨篇的前言 早在大 ...
- JDK下载、安装、配置环境变量笔记
自己总是在下载.安装.配置JDK的环境变量,但是这些需要的专业知识并不难,但有很多细节很重要,总是记不住,而且这些细节一旦出错影响还是很严重的,在网上查到的信息很多都比较零散,而且讲解得也不是很详细, ...
- faster r-cnn 在CPU配置下训练自己的数据
因为没有GPU,所以在CPU下训练自己的数据,中间遇到了各种各样的坑,还好没有放弃,特以此文记录此过程. 1.在CPU下配置faster r-cnn,参考博客:http://blog.csdn.net ...
- Topcoder Arena插件配置和训练指南
一. Arena插件配置 1. 下载Arena 指针:http://community.topcoder.com/tc?module=MyHome 左边Competitions->Algorit ...
- Tomcat安装、配置和部署笔记
首先从Apache的官方网站(http://tomcat.apache.org/)下载Tomcat.有安装版和解压版两种,我个人喜欢用解压版. Tomcat安装(绿色版安装) 1.将下载的Tomcat ...
- gitlab centos 安装配置运维笔记
写在前面 如果你需要一个git服务器,为企业或自己的团队托管代码而又不希望将代码仓库存储到第三方.你可以在自己的服务器上搭建一个gitlab. 本文为我在最初安装配置gitlab服务器的时候留存的笔记 ...
- Win10中用yolov3训练自己的数据集全过程(VS、CUDA、CUDNN、OpenCV配置,训练和测试)
在Windows系统的Linux系统中用yolo训练自己的数据集的配置差异很大,今天总结在win10中配置yolo并进行训练和测试的全过程. 提纲: 1.下载适用于Windows的darknet 2. ...
随机推荐
- 云原生应用开发“12-Factors”
12 Factor 简介 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS).12-Factor 为构建如下的 SaaS 应用提供了方法论: 使用标准化流程自动配置, ...
- IDLE与pycharm、Anaconda、spyder
一.IDLE与pycharm.Anaconda的关系IDLEpython 程序的集成开发环境,IDLE是自带集成开发环境,可以运行和调试一些简单的小程序,开始学习Python的时候用的比较多,但不适合 ...
- JSP总结(经典)
摘自:https://www.cnblogs.com/cyjch/archive/2012/03/28/2420798.html day1 JSP 定义: 1)Java Server Page ...
- markdown符号双下标如何实现? 行内公式 | 上标下标 | 行内公式 | 单独公式快
实现效果: 一.行内公式: \(J^x_{ij}\) 二.换行单独的公式块: \[J^x_{ij} \] 如何实现? 一.行内公式: $J^x_{ij}$ 二.换行单独的公式块: $$ J^x_{ij ...
- BMS和AFE通信问题
接插件导致通信失效问题报告 问题描述: 整个系统是由5个电池包组成,1个电池包外挂1个采集子板,每个子板共2个AFE. 板间以及板内均为变压器隔离. 由于储能项目一个标准箱子里面放置了两个电池包,因此 ...
- Ubuntu 22.04 安装 XRDP
Ubuntu 22.04 安装 XRDP,替代系统自带RDP远程桌面 原因:Ubuntu的自带RDP远程桌面很好用,但很傻,必须设置自动登录才能用.而设置了自动登录也不能解开KEYRING,必须在电脑 ...
- 音视频开发进阶指南:基于iOS实现超低延时耳返
1 功能简介 在音视频应用中我们经常涉及到耳机麦克风和设备麦克风的切换.不同声道的配置.在遇到这种情况的时候,我们如何配置呢? 耳返即耳机采集监听,在设备上插入耳机(普通耳机或蓝牙耳机)后,能从本机耳 ...
- GPT-5 API 请求参数调整,避坑指南(汇总)
奥特曼试了一把 GPT-5 ,瘫痪在地,大喊:我的 API 怎么跑不通了? 本篇文章来捋一下 GPT-5 系列模型的 API 参数都有哪些变化,新增的参数,以及注意事项. 欢迎补充,本帖持续更新. 省 ...
- 支付宝小程序IDE突然极不稳定
前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,公司项目就是主推uni-app,因公司项目是快抖微支 ...
- 开源能源管理系统(EMS)深度解析:安全自主可控与实践应用
一.开源能源管理系统的核心特点 开源 EMS 基于开源软件架构,通过集成能源监测.数据分析与优化功能,为企业提供高效能源管理方案,其核心优势体现在: 开放性与可定制性:开源代码允许企业根据业务需求深度 ...