0. 引言
看了很多的YOLOv4教程,但是都不能解决我的安装与使用问题,因此发表一版在自己服务器上可用的使用说明,仅供大家参考。在大家参考各种教程之前一定要认真阅读官方教程,避免漏掉一些重要步骤。
与YOLOv3这种下载之后make就完事的麻溜相比,YOLOv4还在不断修正bug中,第一个问题是版本的问题,yolov4的官方网址:https://github.com/AlexeyAB/darknet
经测试能用正常make的网址:https://github.com/AlexeyAB/darknet/tree/64efa721ede91cd8ccc18257f98eeba43b73a6af,有可能是我的机器问题,大家可以新版本旧版本都尝试下。
1. 安装
下载之后解压,需要使用GPU加速训练的话,需要修改makefile里面一些参数,可以参考官方教程修改,这里我只修改前三个。
以及根据自己的设备型号修改ARCH,我的机器是2080Ti,因此选择75。别忘了注释掉之前的。
接下来在cmd终端输入指令:make,可能会出现大量warning,忽略掉即可。
2. 整理自己的数据集
这里不对如何标注以及如何将json、xml文件转为txt做详细说明,重点强调数据格式以及相关文件。以建立MyDataset为例,数据集应该包含以下五种文件。图片和标注txt放在同一个文件夹,train.txt和valid.txt分别包含训练图片和测试图片的绝对路径。
/MyDataset/images/******.jpg
/MyDataset/Images/*****.txt
/MyDataset/train.txt
/MyDataset/valid.txt
/MyDataset/classes.name
接下来是.data文档和.cfg文档的修改。
关于.data文档,需要修改五个参数。classes代表你的数据集内目标种类个数;train代表了你的train.txt的绝对路径,valid代表了你的valid.txt的决定路径,name代表了你的classes.name的决定路径,最后别忘了backup。
关于.cfg文档,需要根据需求修改多处。
1.batch和subvision需要根据算力需求进行调整;
2.width和height一定要是32的倍数;
3.max_batches的大小受三个条件决定:大于图片数量;=classes2000;大于6000;
4.mosaic=0 修改这个参数是因为为1的时候一直报错,这个参数代表是否需要数据增强,与YOLOv5的方法有一定关系,输出错误为:;