Перейти к содержимому
Compvision.ru
iskees

OpenCV DNN CUDА падение производительности

Recommended Posts

Есть проста сверточная сеть (keras+tf),  размер входного слоя не фиксированный. При прогоне на CPU все нормально, чем больше входной изображение тем дольше обработка. Но при выборе Backend cuda получается такая картина:

  • если прогонять данные одного размера (например 240х180), то все хорошо
  • если размер входных данных постоянно меняется (сперва 240х180, потом  240х179 и так по кругу) то производительность падает в 10 раз. 

opencv 4.2.0-dev

jetson nano

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Выделение памяти на девайсе процесс не быстрый. А при изменении размеров входного тензора сеть каждый вызов ее перевыделяет. 

Сделайте вход максимального размера, и используйте поля. Еще лучше заморозить ее с фиксированным входом.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пока сделал массив сеток, по одной для каждого размера. Инициализация не быстрая но потом все идет без замедление. Мне кажется дело не  выделении памяти, а возможно в перекомпиляции ядер cuda.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×