yolov5模型训练复现报告及遇到的问题
yolov5模型训练复现报告及遇到的问题
原文地址
原文地址复现环境
复现环境
1.VMware Workstation 17 Pro
2.Windows 10 21H2
3.Git 2.51.0.2
复现过程
Anconda环境搭建
首先先从官网把Anconda程序下载下来,如果没有账号的需要注册或者用Google账号登录。

关于下载哪个版本可以去看他们的Documentation
安装过程一路Next就可以了
此时打开cmd,输入conda发现并没有找到这个命令,这说明Anconda的安装文件夹并没有添加到环境变量中。
打开Anconda的安装文件夹(默认是C:\Users\Admin\miniconda3),发现conda程序的名字叫做*_conda.exe*,不过没关系,在文件夹路径上输入cmd打开输入下列代码
1 | _conda create -n yolo python=3.13 //原文中的python版本是3.8,不过现在版本的Anconda需要的是3.13 |
等待获得安装包信息,然后输入y,等待下载和安装

当看到下列命令就代表安装成功了
1 | Preparing transaction: done |
输入下列命令即可看到刚刚安装的环境
1 | _conda info -e |
1 | C:\Users\Admin\miniconda3>_conda info -e |
输入下列命令,提示我们要先初始化才能使用activate命令
1 | _conda activate yolo //原文中是直接activate yolo,但是我们没加入系统变量所以只能这样子 |
1 | C:\Users\Admin\miniconda3>_conda activate yolo |
但是输入之后显示操作失败(Operation failed.)并且上面显示need sudo,可以先把这段报错信息丢给ai看看
ai解释这个报错意味着我们运行的目录不是真正的Conda环境,C:\Users\Admin\miniconda3\Scripts文件夹中的才是真正的环境,打开那个文件夹并在此打开cmd,发现之前的命令都能使用,输入激活命令,成功运行yolo环境

按照教程,运行下列命令下载jupyter notebook,并成功打开notebook界面
1 | conda install jupyter notebook |


yolov5下载
前往https://github.com/ultralytics/yolov5 下载yolov5源码,若打不开可以使用Steam++或者科学上网
若下载实在缓慢,可以转用Git搭配Github文件加速网站下载
1 | git clone https://hk.gh-proxy.com/https://github.com/ultralytics/yolov5.git |
按照教程,在yolov5文件夹打开cmd,先激活yolo环境,在输入下列命令
1 | pip install -r requirements.txt |
若下载速度缓慢还失败,就需要考虑一下切换pip的下载源,下列命令就是永久切换清华的pip下载源
1 | pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple |

可以看到下载速度飞快
下载完之后就可以耐心等待安装了
整理yolov5模型
先按照教程创建几个文件夹和文件
1 | -yolo_A |
然后去找哆啦A梦的图,推荐用Bing图片或者Google图片,建议越多越好。。

按照教程去https://github.com/tzutalin/labelImg 下载labelimg工具,还是推荐用Git搭配Github文件加速网站下载
1 | git clone https://hk.gh-proxy.com/https://github.com/HumanSignal/labelImg.git |
按照教程进入labelimg目录,删除labelImg-master\data\predefined_classes.txt文件,激活yolo环境,安装依赖
1 | conda install pyqt=5 |
然后输入下列命令打开打表程序
1 | python labelimg.py |

按照教程把该勾选的勾选上,在教程中这个程序是没有中文的,不过现在有了,但是位置都是不变的按照教程的位置勾选就好
但在勾选第二个框的时候程序突然崩溃

用ai搜索得知,self.default_label这个变量没有初始化,也就是由于我们之前删去predefined_classes.txt文件导致程序出错
解决方法就是自己创建一个predefined_classes.txt文件,然后输入A,这样我们就有了默认标签,程序也不会崩溃

然后就是疯狂打标

然后再编辑一下A.yaml文件
1 | # train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/] |
yolov5模型训练
先在yolo环境中打开python(在cmd中输入python),依次输入以下命令
1 | import torch |
然后测试脚本是不是跑得动
1 | python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images/ |
注:此时我的虚拟机突然频繁蓝屏卡退,不得已只能重装,还好用的是虚拟机。然后7点钟左右又有算法赛要打,只能拖到现在。
发现再次报错,没有找到yolov5s.pt文件

往上翻一翻发现还是github的锅,使用Steam++或者科学上网,再或者自己手动下载丢到yolov5-master下,这里我是本体机下了文件之后丢到根目录(虚拟机不知道为什么跑不了梯子)
再次运行,发现成功,结果保留在runs\detect\exp7目录下

可以开始训练了,输入以下命令开始训练(注意,虚拟机内存要设置得足够大,不然会爆内存)
1 | python train.py --img 640 --batch 50 --epochs 100 --data ../yolo_A/A.yaml --weights yolov5s.pt --nosave --cache |
注:输完这段命令之后虚拟机再次卡死。。。下次一定用linux。。然后用ai优化了一下命令
1 | python train.py --img 416 --batch 16 --epochs 100 --data yolo_A/A.yaml --weights yolov5s.pt --noval --cache disk --optimizer AdamW |
经过了漫长的训练,最终得到了best.pt,并且保存在runs\train\exp2\weights目录下


yolov5模型测试
随便找一张网图做测试,成功了
1 | python detect.py --weights runs/train/exp2/weights/best.pt --img 416 --conf 0.25 --source test.webp |

相关资料收集
在跑模型的时候发现这种视觉识别的模型居然没用到我的gpu(占用率1%)。。。于是去搜了搜相关的文章发现这篇文章居然用的是cpu来跑。。
于是我搜到了另外一篇文章:https://blog.csdn.net/2401_85556416/article/details/141495837 这篇文章里便是yolov5的GPU训练版本
有时间去试一试
- 标题: yolov5模型训练复现报告及遇到的问题
- 作者: Mel0ny
- 创建于 : 2025-10-06 23:13:31
- 更新于 : 2025-10-07 01:14:11
- 链接: https://mel0nyrame.github.io/2025/10/06/yolov5模型训练复现报告及遇到的问题/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。