1.修改完之后的Tiny网络有49层(23+26),检测尺度仍然是2626,1313;
2.训练:
1)这次将max_batches设置为80200;学习率在55000,65000时降低为原来的0.1;
还是使用VOC2007,2012数据集进行训练,将2007_test作为模型验证集。
2)训练完之后得到所有的权重文件my_yololite_final.weights等。
ps:若想在训练之后将训练过程中的IoU,mAP,recall等用图形可视化,可以在训练时利用类似下面的命令保存log文件:
./darknet detector train cfg/voc.data cfg/yolov3-tiny.cfg yolov3-tiny.conv.15 -gpus 0,1 2>1 | tee visualization/tiny_yolov3.log
注意需要将命令中的参数改成自己训练的文件。
可视化可以参考YOLO训练中的可视化
3.利用训练好的模型进行测试
1)验证集下的recall:
可以直接调用Darknet框架下的命令:
./darknet detector recall cfg/voc.data cfg/yolov3-tiny-test.cfg backup/yolov3-tiny_70000.weights
输出结果:
2)计算mAP
主要参考YOLO中map值的计算
先进行验证生成results/*.txt
./darknet detector valid cfg/voc.data cfg/yolov3-tiny-test.cfg backup/yolov3-tiny_70000.weights -out "" -gpu 0 -thresh .5
然后利用voc_eval.py下载
新建compute_mAP.py文件测试即可出结果:
初学者暂时学到这了,有机会之后再更新。