Как рассчитать скорость различных моделей в FPS для моего графического процессора? В даркнете

Я использую Darknet в своем проекте по обнаружению объектов. И я хочу создать похожую диаграмму вот так:

image

Для моего GPU и различных моделей. Как я могу посчитать скорость модели в FPS? Я пытался сделать это таким образом, но не знаю, имеет ли это смысл и правильно:

Я запускаю расчет MAP для своего набора проверки и получаю эту информацию в выводе: изображение

Итак, если у меня в моем наборе для проверки 300 изображений, скорость этой модели = 300/28 = 10,71 FPS.

Это правильно или нет?


person Andropogon    schedule 04.01.2020    source источник


Ответы (2)


Да, но в общее время обнаружения входит время загрузки изображений с диска. Если у вас есть HDD, это время больше, чем время обнаружения для некоторых быстрых моделей.

Один из способов получить среднюю скорость: - преобразовать изображение в формат даркнета - запустить таймер - обработать изображение - остановить таймер - усреднить это время

Обратите внимание, что эти функции: https://github.com/AlexeyAB/darknet/blob/master/src/detector.c#L661-L665 занимает некоторое время процессора. Его следует игнорировать, если вы хотите потратить время на GPU.

person Steve Zaretti    schedule 07.01.2020

@ Стив Зарети

Спасибо за ваш ответ, я задаю тот же вопрос AlexeyAB из Darknet, и он сказал мне, как и вы, что мое решение ограничено жестким диском / SDD.

Поэтому он включил решение для этого типа измерения скорости модели: https://github.com/AlexeyAB/darknet/issues/4627

Я добавил флаг -benchmark для демонстрации детектора, теперь вы можете использовать команду 2652263

./darknet detector demo obj.data yolo.cfg yolo.weights test.mp4 -benchmark

Но для очень быстрых моделей узким местом будет Захват видео из файла / камеры ›или Показ видео (вы можете отключить показ с помощью флага -dont_show).

Я считаю, что это лучшее решение, вам нужна только последняя версия Darknet (от AlexeyAB).

person Andropogon    schedule 08.01.2020