网上关于Yolov5如何训练数据集的文章很多,里面都介绍了如何去标注数据集,我这里就不去介绍如何标注了,直接通过一种简单明了的方式让大家迅速的开始训练自己的数据集;
相信大家在运行Yolov5时coco128数据集已经下载好了,coco128数据集默认的位置就是我们项目代码的同级目录,所以我以这个位置作为参考,通过对比的方式让大家迅速了解读取数据集的原理;
这次我使用的是划分好了的数据集,所以并没有介绍如何去划分数据集,如果大家需要会补上的;
将解压好的数据集放到datasets文件夹下,dataset文件夹是我们在运行项目时自动创建的,dataset文件夹里面已经有了coco128数据集,放好之后应该就是下面树形结构的样子
检查数据集是否按照这样的方式去命名,这里注意的是image文件夹下的“train”和“val”要与lables文件夹下的“train”和“val”名字一致
D:\PYCHARM_PROJECTS
├─yolov5-v6.1-test
└─datasets
├─coco128
│ ├─images
│ │ └─train2017>图片.jpg
│ └─labels
│ └─train2017>标签.txt
└─mydata
├─images
│ ├─train>图片.jpg
│ └─val>图片.jpg
└─labels
├─train>标签.txt
└─val>标签.txt
写一个配置文件放在你项目源代码的data文件夹里
这是我自己写的cars.yaml,书写方式我们可以参照coco128.yaml,然后把我们自己数据集的路径放进来;test集是可选的,写不写都行
这里主要注意的就是标号代表的意思,比如一些不好的数据集并不会告诉你0代表人,1代表车,2代表狗
这是官方提供的 data/coco128.yaml,他这里的书写方式和我给出的不同,两种都可以的
确认好数据集格式并且写好配置文件后,要改动最后一处:
将这里改成刚才写好的配置文件的路径,然后就可以训练啦
三个部分分别代表:类别;框中心点x坐标,框中心点y坐标;框宽,框高;
Q1:windows系统路径中不能出现中文,Linux可以出现
Q2:出现“页面太小,无法完成操作”
可能是虚拟内存不足,调大虚拟内存或将线程 --workers设为0
Q3:memory error
内存超了,减小 --batch-size
本人更多Yolov5(v6.1)实战内容导航
1.手把手带你调参Yolo v5 (v6.1)(一)
2.手把手带你调参Yolo v5 (v6.1)(二)
3.手把手带你Yolov5 (v6.1)添加注意力机制(并附上30多种顶会Attention原理图)
4.Yolov5如何更换激活函数?
5.如何快速使用自己的数据集训练Yolov5模型