简单记录一下自己的训练过程吧
应该和网上的大部分都不一样
https://github.com/pjreddie/darknet.git 下载的darknet,在Windows下使用cmake编译只能编译出CPU版本。https://github.com/AlexeyAB/darknet.git 下载点darknet 使用vs2017可以编译出GPU版本的exe。本文cuda、cudnn安装,darknet使用VST017编译都跳过,直接开始准备训练数据
环境: win7、NVIDIA 1060 3G、cuda10.0
准备:
1.编译好的darknet.exe
2.574张车牌数据集和标注好的数据(花了我一个小时去标注)
这是根目录:
新建了train1文件夹,里边放着准备训练的图片和配置
train1文件夹下包含 car_license文件夹,car_licence.cfg、car_licence-tiny.cfg两个cfg,car_liscence.names,test.txt、train.txt,car_licence.data
car_license 放的是图片和对应的标注
car_licence.names里只有一个分类
car_licence.data的配置 ,分类有1个,其他都使用相对路径
train.txt和test.txt里边的图片路径使用的也是相对路径
cfg的配置和网上其他人的配置都一样,改一下class=1 filter=18等等,car_licence.cfg要修改三处地方,car_licence-tiny.cfg修改两处地方。我只用到了car_licence-tiny.cfg,使用car_licence.cfg直接把显卡撑爆了,只能训练tiny版本的
先使用以下命令提取出原先网络的前15层的参数weight,然后生成一个yolov3-tiny.conv.15文件
./darknet.exe partial cfg/yolov3-tiny.cfg yolov3-tiny.weights yolov3-tiny.conv.15 15
使用如下命令开始进行训练:
./darknet.exe detector train train1/car_licence.data train1/car_licence-tiny.cfg yolov3-tiny.conv.15
出现这个窗口就说明开始训练了,
训练avg loss =0.3的时候就差不多了