Bootstrap

yolov7训练自己的数据集

1.github官网

首先将yolov7的项目clone到本地,并下载一个预训练模型yolov7.pt

在这里插入图片描述

2.创建虚拟环境

这里推荐使用Anaconda来创建python的虚拟环境

在这里插入图片描述

进入命令行界面,创建一个名叫yolov7的虚拟环境,并激活虚拟环境

在这里插入图片描述

3.下载数据集

这里推荐一个网站:https://public.roboflow.com/,这是一个国外的数据集网站,上面的数据集都已经打好了标签,并区分好数据集和验证集

在这里插入图片描述
这里我选择的是YOLO V7 Pytorch,各位可自行根据自己的深度学习框架选择不同的数据集。因为是国外的网站,所以访问速度非常慢,这里我给出我自己下载的数据:点击下载数据集

4.修改配置,开始训练

首先一定注意数据集的目录和yolov7的目录要放在同一级,不要把数据集的目录放在yolov7目录里面,如下图所示:
在这里插入图片描述

修改数据集文件下的data.yaml,其中的train和val设置数据的训练图片和验证图片,这是我的路径:我用的是绝对路径,相对路径也是可以的。

在这里插入图片描述

接着修改train.py这个文件,就是训练模型用的文件,里面需要修改一些配置,废话不多说,直接看图和代码:

在这里插入图片描述

weights就是前面下载的yolov7.pt权重文件,data就是数据集里面的data.yaml,我用相对路径来表示,device就是设备,默认使用CPU,这样的效果不好,速度比较慢,推荐用GPU来训练

上述全都配置好以后,就可以直接运行了,出现以下画面,证明已经成功运行了:
在这里插入图片描述
训练完成后,会在runs文件夹下的train下显示结果:
在这里插入图片描述
在这里插入图片描述
weights下面就是训练好的模型,best.pt就是这一次训练得到的一个最佳模型,还有其中的一些结果:

在这里插入图片描述
在这里插入图片描述
到此就结束了

6.解决报错

众所周知,程序总喜欢报错,明明自己一步一步的从头来,就是运行不了,这就很搞人心态,以下是我遇到的一些错误和对应的解决方法:

在这里插入图片描述

这个错误就是yolov7.pt的这个预训练的权重文件没有修改或者修改错了导致的,不要问为什么。

2.YOLOV5s 训练问题总结
3.显卡RTX 3090运行pytorch报错CUDA error: no kernel image is available for execution on the device

如果大家还遇到其他的错误,可以分享出来,到家起义解决

7.最后

对于深度学习这类需要大量算力的学习任务,对于个人电脑来说会比较吃配置,所以这里更推荐大家去租用显卡来跑深度学习模型,这类平台一边都会内置pytorch等深度学习框架,各种python环境都已经预装好,只需上传数据集就可以跑。我使用的平台是恒源云,价格实惠,大家可以试一试。
在这里插入图片描述

;