Недавно я тренировал yolov3 методом переноса.
Я использовал следующую команду для тренировки веса yolov3.
./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
После отправки веса 500200 партий в CodaLab для проверки производительности на COCO Dataset,
Я получил следующий результат:
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
По сравнению с официальным весом в 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
Мы ясно видим, что AP_50 в официальном весе на 1,9% выше, чем моя самообучающаяся версия.
Кстати,
[1] Я использовал AlexeyAB / dar knet, а не pjreddie / darknet / для обучения YOLOv3.
[2] Я использовал COCO2014 в качестве набора данных для обучения .
Кто-нибудь знает, как объяснить эту ситуацию? Или можно воспроизвести официальный результат?