基于darknet-yolov4训练自己的数据集

基于darknet-yolov4训练自己的数据集

一、环境配置

git clone http://github.com/pjreddie/darknet.git

cd darknet

make 

二、训练自己的数据集

主要参考:https://blog.csdn.net/jiangpeng59/article/details/106231878

参考:https://blog.csdn.net/qq_38316300/article/details/106771964

1、在darknet文件下创建自己的数据集文件夹myData。在myData下创建JPGEImages(训练集图片),Annotations(存放标注的xml文件)。test文件夹放测试数据。创建weights文件夹(训练后的的权重文件夹保存路径在此)

2、Annotations(存放标注的xml文件)文件生成:python ./03-create_xml_self.py

3、运行myData中的test文件,在ImageSets/Main/下生成四个txt文件,test.txt,train.txt, val.txt, trainval.txt

python . /myData/test.py

4、运行darknet下的voc2txt文件,在myData文件下生成trian.txt, vat.txt 两个txt文件。 python ./voc2txt.py

5、进入darknet/cfg文件中两处修改

1)my_data.data文件中保存着五类信息:类别数量,训练集,验证集,类别名称和保存权重的文件

classes= 2                                # 2表示数据集中只有两类可检测的物体
train  = myData/train.txt                 # 表示保存训练数据集的地址
test= myData/test.txt                     # 表示保存验证数据集的地址
names = myData/myData.names               # 表示可检测物体的名称
backup = myData/weights/                  # 表示保存训练权重的文件

2)my_yolov4.cfg中修改带“#”号的地方,主要包括Testing/Training(二选一)、

classes=6                          #有3处都在[yolo]配置下,可以使用查找替换
filters=33                         #有3处都在[yolo]配置上方,需要一个一个修改,其值=(classes + 5)x3)
max_batches = 12000                #其值=classes*2000
steps=9600,10800                   #其值=(max_batches*0.8,max_batches*0.9)

6、train

./darknet detector train cfg/my_data.data cfg/my_yolov4.cfg yolov4.conv.137

7、test

./darknet detector test cfg/my_data.data cfg/my_yolov4.cfg myData/weights/权重名 myData/test/006983.jpg

你可能感兴趣的:(pytorch系列,深度学习,pytorch)