当前位置:首页 > 编程笔记 > 正文
已解决

零基础教程:使用YOLOV7训练VisDrone数据集

来自网友在路上 169869提问 提问时间:2023-10-10 15:18:48阅读次数: 69

最佳答案 问答题库698位专家为你答疑解惑

1.源码地址:

https://github.com/WongKinYiu/yolov7

下载之后解压

2.环境准备

1.用pycharm打开项目文件,选择自己的虚拟环境

2.下载项目所需要的包和权重文件

打开Terminal

输入以下命令:

pip install -r requirements.txt

下载预训练权重YOLOv7.pt

下载完成之后放在项目根目录下

3.测试环境是否安装成功

运行detect.py

运行结果在runs/detect文件夹中

到此为止,说明环境已经准备好了。

3.训练VisDrone数据集

1.新建文件夹datasets,将自己的无人机数据集放进去

给出无人机数据集的网盘链接:

链接:https://pan.baidu.com/s/1N1IuBkoX2jd_6x4kscSDKg 
提取码:l070

此数据集是我已经处理好的,可以直接用。

2.修改配置文件:模型配置文件 + 数据集配置文件

1.修改模型配置文件

找到原模型配置文件:cfg/training/yolov7.yaml

复制到同级文件夹,取名叫yolov7-VisDrone.yaml

修改nc(类别数):

2.修改数据集配置文件

先找到原数据集配置文件:data/coco.yaml

复制到同级目录取名叫VisDrone.yaml

4.修改train.py并解决训练过程中出现的bug

1.出现bug1:assets = [x['name'] for x in response['assets']] # release assets KeyError: 'assets'

解决方案:

data/hyp.scratch.p5.yaml 中的anchors=3取消注释

2.bug2:报错说是数据集路径有问题

修改VisDrone.yaml的训练 验证数据集路径

训练coco数据集:

还要下载,太慢了,放弃

0 6339M 0 510k 0 0 15942 0 4d 19h 0:00:32 4d 19h 10854

3.bug3:_pickle.UnpicklingError: STACK_GLOBAL requires str

原因:原因就是在数据集labels文件中产生了.cache文件,需要先把这个文件删掉

已解决

训练成功

但是batch_size设置为4都爆显存了

使用yolov7-tiny训练VisDrone数据集

yolov7-tiny权重下载地址:

链接:https://pan.baidu.com/s/1sInfmTQmk04XXiVBMjW_ng 
提取码:r4xi

4.使用yolov7-tiny训练成功

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"零基础教程:使用YOLOV7训练VisDrone数据集":http://eshow365.cn/6-18444-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!