darknet框架下用yolo训练自己的

主要参考两篇博客:

1.在window下搭建Darknet环境-CSDN博客

2.用darknet框架中的YOLOv3对自己的数据集进行训练和预测_yolov3每隔多少次存档-CSDN博客​​​​​​

1.首先需要利用msys2搭建一个可以在window系统下编译的linux开发环境。

2.然后在window系统下编译Darknet,可以在github上下载最新版本的Darknet源码。

打开命令提示符,输入cd+darknet解压路径,这里需要注意,建议将解压路径放到桌面,不然不能出现

出现了darknet源码目录后,需要输入make-j。然后就在根目录下生成 darknet.exe、libdarknet.so、libdarknet.a 三个文件。这三个文件中会用到darknet。exe文件。完成这些后,在darknet源码目录下,输入下面的代码。就可以看到预测结果。

.\darknet detect cfg/yolov3.cfg yolov3.weights data/person.jpg

 可以看到预测结果可以对应。如果想看预测图在哪,你可以 examples同路径下,找到一个名为predictions的图片文件就是下面这张预测结果图。

 

想要训练自己的数据集,可以按照我推荐的第二篇进行操作。主要是 这三个文件,cfg目录下的voc.data文件,里面主要是数据集的路径还有类别的名称。

./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg scripts/darknet53.conv.74 -gpus 0,1

具体见我推荐的第二篇博客。里面有详细的解释。在这里需要提醒那些用window系统训练darknet的朋友们,训练这个最好是用Ubuntu或者linux系统。我在用window系统训练时,我的路径是这样的,我会用window系统显示一下,最后会一直报错很痛苦。

 

然后是cfg路径下的yolov3的网络结构,在这个里面需要修改六个参数,这六个参数

[convolutional]
size=1
stride=1
pad=1
filters=18#需要修改,3*(classes值+5),我这里classes=1,所以我这里是18,如果是2,这里为21以此类推
activation=linear

[yolo]
mask = 0,1,2
anchors = 10,13,  16,30,  33,23,  30,61,  62,45,  59,119,  116,90,  156,198,  373,326
classes=1#这里需要修改
num=9
jitter=.3
ignore_thresh = .5
truth_thresh = 1
random=1
#在模型框架里搜索classes和yolo,你会发现均有是三个,而且和上面类似,就修改这三处的filters和classes就可以了,按照上面的放下修改

最后是预训练模型darknet53.conv.74 ,下载链接。

wget https://pjreddie.com/media/files/darknet53.conv.74 

最后是训练输入下面的代码

darknet.exe detector train cfg/voc.data cfg/yolov3-voc.cfg scripts/darknet53.conv.74 -gpus 1

细心的朋友会发现和前面不一样,是的,输入下面的命令会报错,

./darknet.exe detector train cfg/voc.data cfg/yolov3-voc.cfg scripts/darknet53.conv.74 -gpus 1

我认为这个输入应该不适用window系统,但是适用于Ubuntu和linux系统 

使用前面的命令行进行训练时,一直出现一个错误图片找不到。在网上搜索了好久,各种方法都试了,不无效。无奈我想用Ubuntu系统试试,结果训练成功。

 最后小结,建议大家不要用window系统去训练darknet网络,会因为图片路径出现各种问题。祝大家炼丹成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值