ria-com / nomeroff-net

Nomeroff Net. Automatic numberplate recognition system.
GNU General Public License v3.0
459 stars 159 forks source link

TensorRT #68

Closed GalymzhanAbdimanap closed 4 years ago

GalymzhanAbdimanap commented 4 years ago

Добрый день, Вы не пробовали оптимизировать ваши модели с помощью библиотеки TensorRT?

ApelSYN commented 4 years ago

Да, мы экспериментировали с TensorRT около года назад, и вот какие выводы:

  1. Самой "тяжелой" библиотекой, требующей ускорения и оптимизации является Mask RCNN, на момент изучения TensorRT, не все слои из модели Mask RCNN нативно поддерживались у TensorRT, а перспектива самостоятельной реализации слоев нам не подходит.
  2. TensorRT проприетарная билиотека, поставляется привязанной к устаревшей версии python 3.5, os debian (ubuntu) не самой свежей. Запуск этого всего на свежем ядре и свежей Fedora в docker-контейнере (с использованием nvidia-docker) приводил к 20% деградации производительности нашего кода без оптимизации TensorRT, просто в окружении python 3.5 и tf, которые устанавливаются в контейнер. Тут напрашивается вопрос за кокой процент прироста можно бороться?
  3. На более простых моделях нам удалось получить оптимизированную модель для TensorRT (например, для модели классификатора), но мы не увидели значимого прироста в производительности, зато увидели существенные ухудшения в стабильности работы нашего модуля. Возможно проблемы возникали по нашей вине, но, в общем, интерес к этой бибилиотеке пропал. Время от времени я получаю уведомления о новых версиях, возможно там уже часть проблем исправлена, поэтому этот отзыв актуален на начало 2019, да и наши 2 видеоплаты справляются с 200 000 фото/день в 4 потока каждая и обеспечивают нам Realtime-анализ фото на проекте http://auto.ria.com.
GalymzhanAbdimanap commented 4 years ago

Спасибо за ответ) Интересно было увидеть ваше мнение и выводы. Я вот тоже хотел оптимизировать MaskRCNN, но на сегодняшний день, все еще некоторые слои не поддерживаются на TensorRT.