Recently, I trained yolov3 with transfer learning method.
I used the following command to train my yolov3 weight.
./darknet detector train cfg/coco.data cfg/yolov3.cfg darknet53.conv.74 -gpus 0,1,2,3 -map | tee -a yolov3-official-transfer-learning.log
After submitting 500200 batches weight to CodaLab to test the performance on COCO Dataset,
I got the following result:
AP: 0.321
AP_50: 0.541
AP_75: 0.339
AP_small: 0.143
AP_medium: 0.332
AP_large: 0.450
AR_max_1: 0.284
AR_max_10: 0.434
AR_max_100: 0.454
AR_small: 0.257
AR_medium: 0.473
AR_large: 0.617
Comparing to the official weight on CodaLab
AP: 0.315
AP_50: 0.560
AP_75: 0.324
AP_small: 0.153
AP_medium: 0.334
AP_large: 0.430
AR_max_1: 0.278
AR_max_10: 0.433
AR_max_100: 0.456
AR_small: 0.267
AR_medium: 0.484
AR_large: 0.610
We can clearly see that AP_50 in official weight is 1.9% higher than my self-trained version.
By the way,
[1] I used AlexeyAB/darknet, not pjreddie/darknet/ to train YOLOv3.
[2] I Used COCO2014 as my training dataset.
Does anyone know how to explain this situation? Or is it possible to reproduce the official result?