yolov4在darknet框架下训练(VOC2012)

仅作笔记整理搬运使用,没有任何程序原创部分,主要给自己提个醒,避免重复搜索工作

一、Darknet-master
https://github.com/AlexeyAB/darknet

更改makefile文件

GPU=1
CUDNN=1
CUDNN_HALF=1
OPENCV=1
……

#cd到darknet-master目录下

make -j16

测试图片,结果保存在darknet-master/predictions.jpg

./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg

参考
https://blog.csdn.net/weixin_44771532/article/details/105495755

二、VOC数据集
VOCdevkit文件夹放在darknet目录中
darknet/scripts下的voc_label.py拷贝至darknet目录。

打开voc_label.py
因为以voc2012为数据集

#sets=[('2012', 'train'), ('2012', 'val'), ('2007', 'train'), ('2007', 'val'), ('2007', 'test')]

sets=[('2012', 'train'), ('2012', 'val')]

最后一行

#os.system("cat 2007_train.txt 2007_val.txt 2012_train.txt 2012_val.txt > train.txt")
#os.system("cat 2007_train.txt 2007_val.txt 2007_test.txt 2012_train.txt 2012_val.txt > train.all.txt")

os.system("cat 2012_train.txt 2012_val.txt > train.txt")

然后

python voc_label.py

darknet目录下会生2个文件:2012_train.txt和2012_val.txt

三、配置文件
1 、 打开cfg/voc.data

classes= 20  #类别数
train  = /home/s/darknet-master/2012_train.txt
valid  = /home/s/darknet-master/2012_val.txt
names = data/voc.names #类别名称
backup = /home/s/darknet-master/backup/#模型存放

2、将cfg/yolov4-custom.cfg进行复制,并将复制后的文件命名为yolov4-obj.cfg。

修改cfg/yolov4-obj.cfg文件:
修改6、7行,否则容易有out of memory错误

batch=16
subdivisions=32

修改20、22行

max_batches = 20000 #类别数量*2000

steps=16000,18000  #分别是0.8*max_batches,0.9max_batches

在文件中,使用Ctrl+F搜索yolo,一共出现三个地方。修改yolo下面的classes,以及yolo上面的filters:

[convolutional]
……
filters=75  #(类别数+5)*3
……


[yolo]
……
classes=20   #类别数
……

四、开始训练

./darknet detector train cfg/voc.data cfg/yolov4-obj.cfg yolov4.conv.137 -m

五、测试

./darknet detector test cfg/voc.data cfg/yolo-obj.cfg yolo-obj_xxxx.weights 

参考博客:
https://blog.csdn.net/ly_twt/article/details/105577683
https://blog.csdn.net/ly_twt/article/details/105761312

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值