Показатели трансферного обучения YOLOv3 хуже его официального веса - PullRequest
0 голосов
/ 10 июля 2020

Недавно я тренировал 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 в качестве набора данных для обучения .

Кто-нибудь знает, как объяснить эту ситуацию? Или можно воспроизвести официальный результат?

Ответы [ 2 ]

0 голосов
/ 12 июля 2020

Вы использовали cfg по умолчанию? Если это так, вы, вероятно, тренировались с более низким разрешением и / или с меньшими мини-партиями, чем авторы, что означало бы больше сточасти c обучение -> более низкий AP.

Также есть уровень случайности с обучением DNN , Я видел, как сети обучаются немного разным точкам доступа с идентичными конфигурациями. Вероятно, что авторы Yolov3 провели много тренировочных испытаний и выбрали для публикации самый лучший результат, поэтому вполне вероятно, что в среднем точная имитация их тренировок даст несколько худшие результаты.

0 голосов
/ 12 июля 2020

mAP более убедителен в оценке, которая представляет собой AP metri c в вашем вопросе.

Фактически, ваш mAP (0,321) немного выше, чем у официальной версии (0,315).

AP_50 - это просто точка доступа, когда порог IOU установлен на 0,5, в то время как mAP учитывает несколько AP, когда порог IOU установлен на 0,5: 0,95: 0,05 (всего 10 долговых обязательств) соответственно.

Ваш AP_50 ниже . Покупая может заметить, что у тебя AP_75 выше. Это объясняет, почему ваш MAP немного выше официальной версии.

Вы можете обратиться к официальному сайту coco, чтобы найти дополнительные оценочные метри c info.

...