В настоящее время я работаю над реализацией yolov3 в программе tenorflow 2.0, и в настоящее время я работаю над вычислением баллов mAP (средняя точность) для оценки обученных моделей, что является популярным metri c при измерении точности детекторов объектов, таких как Faster R-CNN, SSD, yolo, ... Средняя точность вычисляет среднее значение точности для значения возврата от 0 до 1.
Вот иллюстративный график, который вычисляет баллы mAP для 30 классов:
31,05% рассчитывается путем усреднения средних значений точности для всех классов в модели
(9.32 / 30) * 100 = 31.05%
.
Насколько я понимаю, чем больше цифра, тем лучше и это хороший показатель, на который можно положиться при принятии решения прекратить тренировку / поезд далее.
Вопрос предполагает Например, у меня есть набор данных из 2000 изображений с n ограничивающими прямоугольниками и m классами, и данные проверки будут равны 0,2 размера набора данных (1600 обучающих примеров и 400 В примеры алидации) следует ли мне рассчитывать оценки карт по всему набору учебных данных после каждой эпохи или просто взять какую-то часть?
Я имею в виду рассчитывать баллы MAP для обучения и валидации. Должен ли я делать прогнозы в конце каждой эпохи и рассчитывать mAP соответственно на 1600, 400 примерах соответственно? или просто взять дробь (100 примеров) и предсказать и рассчитать на 100 примерах? Я обеспокоен эффективностью, например, если я работаю с большим набором данных, скажем, 100k изображений, не будет ли крайне неэффективным делать прогнозы для 100k изображений после каждой эпохи?