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. ...
随机推荐
- SciTech-Mathmatics-Probability+Statistics-Conditional Probability + Bayes Theorem+App.: 条件概率+Bayes原理及应用:广告邮件分类
SciTech-Mathmatics-Probability+Statistics Conditional Probability + Bayes Formula: Application: Cond ...
- 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 ...
- 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 ...
- c++ 数据类型及范围
short: \(-2^{15}\sim 2^{15}-1\) unsigned short: \(0\sim 2^{16}-1\) int: \(-2^{31}\sim 2^{31}-1\) uns ...
- Mybatis之数据库连接+PageHelper分页插件+Mybatis-Plus插件
MyBatis Plus 教程(人人便成为) https://www.cnblogs.com/chch213/p/16320820.html 前言 ORM框架:对象关系映射 object relat ...
- Git在Windows下安装配置
Windows安装包:https://git-scm.com/downloads/win github的注册和git的配置(因为初学Java于是决定先装的Windows版本) 1.在Git Bush配 ...
- A - Expedition
https://vjudge.net/contest/393971#overview http://poj.org/problem?id=2431 A group of cows grabbed a ...
- Java集合——15.使用Collections
目录 Java 集合工具类 Collections 批量添加元素:addAll() List排序与洗牌:sort()和shuffle() 排序 随机打乱元素 不可变集合的转换 总结 Java 集合工具 ...
- 2025主流BPM厂商推荐榜:赋能企业数字化转型的核心引擎
在数字化转型进入深水区的 2025 年,业务流程管理 (BPM) 平台已成为企业提升运营效率.增强敏捷性与合规性的战略核心.随着低代码应用的深入和 AI 技术的蓬勃发展,全球及中国 BPM 市场正处于 ...
- python中多线程和多进程的区别
希望在1分钟内完成500架无人机的路径规划任务,而目前A*算法在50架无人机的情况下需要10秒,意味着在不做优化的情况下处理500架无人机将需要大约100秒,超出你的指标要求.提升计算速度是关键.多线 ...