Скорость обработки кадров TensorRT увеличивается с увеличением количества кадров

#nvidia-jetson #tensorrt #nvidia-jetson-nano

Вопрос:

Я замечаю что-то странное, когда делаю вывод из графика TensorsRT. По мере того, как я делаю вывод о большем количестве последовательных кадров, общее время на кадр уменьшается. Данные выглядят следующим образом:

Кадры Время Оценить
1 кадр 6 секунд 0,1 КАДРА В СЕКУНДУ
3 кадра 12 секунд 0,25 КАДРОВ В секунду
30 кадров 6 секунд 5 КАДРОВ в секунду
100 кадров 7,25 сек 13,7 КАДРОВ в секунду
1000 кадров 31,337 сек 32 КАДРОВ в секунду
10000 кадров 175,118 с 57 КАДРОВ в секунду
100000 кадров 1664,778 сек 60 КАДРОВ в секунду

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

Эта модель представляет собой простой MobileNetV2 и работает на jetson nano 4 ГБ.

Фрагмент кода вывода:

 start_time=time.time() 
for i in range(n_frames):
    output = frozen_func(get_img_tensor(i))[0].numpy()
    ans_arr.append(output)
end_time=time.time()
print("time taken - ",end_time-start_time)
 

Что здесь происходит?