![]()
这些东西是我从什么都不知道 熬了十天晚上左右 摸打滚爬于csdn、github总结出来的 在训练过程中遇到什么问题可以在评论区留言或者私信 看到会一一回复
呜呜呜/(ㄒoㄒ)/~~
1.制作数据集
1.1 lableimg使用(打标签)
数据集的制作说白了就是 在图片上打上标注 软件我这里使用的是labelimg
windows下使用教程(linux也可以参考)
https://blog.csdn.net/python_pycharm/article/details/85338801
常用快捷键说明:
w:创建区域
a:上一张
d:下一张
ctrl + s:保存
open是打开文件一个文件
open Dir是打开一个文件夹 即文件下的所有图片
change save dir 是设置生成的标签文件的目录
标注完所有图片后我们进行下一步 改变文件结构
1.2改变文件结构
新建datas文件夹并且在文件夹里创建两个文件夹
1.images
2.labels
![]()
images下新建俩文件夹分别命名为 train、val
labels下新建俩文件夹分别命名为 train、val

train val 文件夹是干啥的?
train下的文件就是用于模型训练的
val下的文件就是用于模型验证的
可以把train下的想象成平常学习的题 训练集 val下的就是高考题 检验学习成果的 验证集
将图片分别放入images下的文件夹 train放百分之九十左右 val文件夹放百分之十左右 labels文件夹做相同处理
然后在datas文件夹下 新建一个名为 xxx.yaml文件 文件中写入一下内容:
train:训练集train文件路径
val :验证集 val文件路径
nc :种类数目 你在图中一共标注了几种东西
names:种类的名字
到这里数据集就准备好啦 下一步我们下载yolov5
2.下载yolov5
yolov5下载地址下载好后 解压
我们先把数据集的 images 、 labels 、 xxx.yaml 文件放到 yolov5的data目录下
然后我们下载权重文件 权重文件下载地址

yolo的权重文件分为 s m l x 四种类型 s训练出的模型 速度快但精度低 x训练出的模型 精度高但是速度慢 m 、l处于中间位置 这个看个人情况选择
下载好权重文件后 我们新建文件夹 weights 将权重文件放进去
到这里 下一步我们要进行环境的配置了
2.2环境配置
建议使用虚拟环境 什么ide都行
我这里使用的是 anaconda3
打开cmd 新建虚拟环境
conda create 环境名字
然后我们进入虚拟环境
activate 环境名字
cd到yolo文件夹下
然后输入命令
pip install -r requirements.txt
后面就会在虚拟环境里安装各种包
需要注意的是 这里安装的torch是cpu版本的 如果需要安装cuda版的就先卸载cpu版本的torch再去官网下载cuda版的
pip uninstall torch #卸载torch
环境配置好后 下一步来修改一些文件
2.3修改文件
1.进入moudles内 打开你对应权重文件名字的yaml文件 将第一行 nc: 修改成你自己的数量
2.查看自己创建的yaml文件是否正常
3.模型训练
恭喜!到这里离成功就差一步之遥了
3.1cmd命令
cd到yolo目录下 输入下面的命令
python train.py --data ./data/xxx.yaml --weights ./weights/yolov5s.pt --cfg ./models/yolov5s.yaml --epochs 500 --imgsz 640
#--data 你自己创建的yaml文件路径
#--weights 权重文件路径
#--cfg moudles下的权重文件对应的yaml文件路径
#--epochs 迭代次数 就是模型要反复训练多少遍 默认为300
#--imgsz 这个值会影响模型的速度和精度 越大速度越低精度越高 必须为32的倍数 一般不变
#--batch-size 默认为8 使用cpu或显卡不是很好的建议设置为4 这个值越大 模型训练越快
输入命令后一阵滚动 模型开始训练

恭喜成功!!!
训练完成后 会发现yolo文件夹下多了个 run文件夹 打开 进入train 进入最后一个exp 进入weight文件夹 best.pt就是训练好的模型文件
关于anaconda的安装、pytorch以及cuda的配置 有时间我会再写
版权声明:本文为CSDN博主「zewn.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47309562/article/details/119404166
![]()

暂无评论