yolov5模型训练复现报告及遇到的问题

yolov5模型训练复现报告及遇到的问题

Mel0ny Lv5

yolov5模型训练复现报告及遇到的问题

原文地址

原文地址

复现环境

复现环境

1.VMware Workstation 17 Pro
2.Windows 10 21H2
3.Git 2.51.0.2

复现过程

Anconda环境搭建

首先先从官网把Anconda程序下载下来,如果没有账号的需要注册或者用Google账号登录。

1

关于下载哪个版本可以去看他们的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

当看到下列命令就代表安装成功了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate yolo
#
# To deactivate an active environment, use
#
# $ conda deactivate


C:\Users\Admin\miniconda3>

输入下列命令即可看到刚刚安装的环境

1
_conda info -e
1
2
3
4
5
6
7
8
9
10
C:\Users\Admin\miniconda3>_conda info -e

# conda environments:
#
yolo C:\Users\Admin\.conda\envs\yolo
base C:\Users\Admin\AppData\Local\Temp\_MEI16962
C:\Users\Admin\miniconda3


C:\Users\Admin\miniconda3>

输入下列命令,提示我们要先初始化才能使用activate命令

1
_conda activate yolo    //原文中是直接activate yolo,但是我们没加入系统变量所以只能这样子
1
2
3
4
5
6
C:\Users\Admin\miniconda3>_conda activate yolo

CondaError: Run 'conda init' before 'conda activate'


C:\Users\Admin\miniconda3>

但是输入之后显示操作失败(Operation failed.)并且上面显示need sudo,可以先把这段报错信息丢给ai看看
ai解释这个报错意味着我们运行的目录不是真正的Conda环境,C:\Users\Admin\miniconda3\Scripts文件夹中的才是真正的环境,打开那个文件夹并在此打开cmd,发现之前的命令都能使用,输入激活命令,成功运行yolo环境

1

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

1
2
conda install jupyter notebook
jupyter notebook

1
1

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

1

可以看到下载速度飞快
下载完之后就可以耐心等待安装了

整理yolov5模型

先按照教程创建几个文件夹和文件

1
2
3
4
-yolo_A
-images
-labels
-A.yaml

然后去找哆啦A梦的图,推荐用Bing图片或者Google图片,建议越多越好。。

1

按照教程去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
2
3
conda install pyqt=5
conda install -c anaconda lxml
pyrcc5 -o libs/resources.py resources.qrc

然后输入下列命令打开打表程序

1
python labelimg.py

1

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

1

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

1

然后就是疯狂打标

1

然后再编辑一下A.yaml文件

1
2
3
4
5
6
7
8
# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
train: ../yolo_A/images/
val: ../yolo_A/images/
# number of classes
nc: 1

# class names
names: ['A meng']

yolov5模型训练

先在yolo环境中打开python(在cmd中输入python),依次输入以下命令

1
2
3
4
5
import torch
from IPython.display import Image, clear_output # to display images

clear_output()
print('Setup complete. Using torch %s %s' % (torch.__version__, torch.cuda.get_device_properties(0) if torch.cuda.is_available() else 'CPU'))

然后测试脚本是不是跑得动

1
python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images/

注:此时我的虚拟机突然频繁蓝屏卡退,不得已只能重装,还好用的是虚拟机。然后7点钟左右又有算法赛要打,只能拖到现在。

发现再次报错,没有找到yolov5s.pt文件

1

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

1

可以开始训练了,输入以下命令开始训练(注意,虚拟机内存要设置得足够大,不然会爆内存)

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目录下

1
1

yolov5模型测试

随便找一张网图做测试,成功了

1
python detect.py --weights runs/train/exp2/weights/best.pt --img 416 --conf 0.25 --source test.webp

1

相关资料收集

在跑模型的时候发现这种视觉识别的模型居然没用到我的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 进行许可。
评论