Jump to content
Compvision.ru
Sign in to follow this  
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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×