Yolov3(pytorch)训练自己的数据集(二)

二、配置网络参数

在cfg文件夹下创建创建新的配置文件yolov2-custom.cfg,相比原来的配置文件,要对yolo层的参数进行更改,主要针对图中的filters和classes进行更改,一共有3处yolo层,每一处都需要更改。其中filters=3x(5+classes),classes为目标的类别25类。
Yolov3(pytorch)训练自己的数据集(二)_第1张图片

三、训练

直接运行python3 train.py --data data/adas/custom.data --cfg cfg/yolov3-custom.cfg --weights weights/darknet53.conv.74进行训练,我用的是darknet53.conv.74预训练模型,也可以使用其他的预训练模型,效果均有所不同。
在训练了40轮左右,mAp@0.5为0.21,曲线如图所示
Yolov3(pytorch)训练自己的数据集(二)_第2张图片Yolov3(pytorch)训练自己的数据集(二)_第3张图片
训练过程中会将mAp最高的一轮的模型参数自动保存在weights文件夹下,命名为best.pt.

四、测试

测试集中共有3000张图片 ,运行python3 detect.py --cfg cfg/yolov3-custom.cfg --weights weights/best.pt --names data/adas/classes.names --source data/adas/test
其中test文件夹下存放了3000张测试图片,利用训练过程中保存的best,pt模型,最终测试3000张图片需要216s。效果如图所示。

你可能感兴趣的:(目标检测)