Yolo v7训练自己的数据集

没错v7我来了,逃不掉的v7,整x的时候我就想折不会还得用v7吧,果然v7他来了哈哈

1. 准备环境

下源码:我在这里下载的,因为我从官方的下下来有好多错误,改完一个又一个,所以直接下别的大佬改过的了,很香,地址:github:https://github.com/qiaofengsheng/pytorch-yolov7

安装依赖环境:还是原来那一套,然后我把requirement.txt中的torch和torchvision注释之后,直接

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完依赖环境后,去官网下载yolov7的权重,放入weights目录下,直接运行detec.py文件测试是否安装成功。

2. 训练自己的数据集

2.1 弄训练集和测试集

将图像数据添加到VOCdevkit/VOC2007/JPEGImages

将图像对应的txt标签文件添加到VOCdevkit/VOC2007/Annotations

然后修改voc_to_yolo.py中classes列表,改为自己数据集的类别名,设置训练和验证集的比例,我设为70,直接运行,会在VOCdevkit下自动生成images和labels两个文件夹

2.2 修改voc.yaml文件

将train和val修改为刚刚生成的images/train和images/val的地址,nc改为自己数据的类别数,names改为自己数据的类别名,如图

 2.3 训练

修改train.py文件的--weights改为官网下载的pt文件以及将--data修改为配置好的voc.yaml,这里有一个点,就是我一开始下载的是官方的yolov7.pt,用训练出来的best.py测试的时候非常不准,没有检测框,后来调了阈值,得到的结果也很差劲,所以后来下载了此权重yolov7_training.pt,结果好很多,直接运行训练就行,得到runs文件下训练好的best权重。

扫描二维码关注公众号,回复: 14836966 查看本文章

3. 运行test.py测试

修改--weights,用best.py测试

4. 运行detect.py文件预测

把要预测的图片放到inference/images文件夹下,修改--weights,--source

ok了,有了大佬的加持跑这玩意真的很快,许个愿望希望疫情快快过去。

猜你喜欢

转载自blog.csdn.net/Zosse/article/details/126614032