Сеанс времени Tensorflow C ++ & gt; Выполнить — изображения для вывода в реальном времени

[Tensorflow (TF) на процессоре] Я использую скелетный код, предоставленный для вывода C ++ TF из GitHub [label_image / main.cc], чтобы запустить замороженную модель, которую я создал в Python. Эта модель представляет собой FC NN с двумя скрытыми слоями.

В коде C ++ моего текущего проекта я запускаю замороженный классификатор NN для каждого отдельного изображения (8×8 пикселей). Для каждого сэмпла вызов Session-> Run занимает около 0,02 секунды, что дорого для моего приложения, поскольку у меня может быть 64000 сэмплов, которые мне нужно запустить.

Когда я отправляю пакет из 1560 образцов, вызов Session-> Run занимает около 0,03 секунды.

Являются ли эти измерения времени нормальными для сеанса-> Выполнить вызов? С конца C ++, должен ли я посылать мои замороженные образцы моделей, а не отдельные образцы? С конца Python, есть ли уловки оптимизации, чтобы устранить это узкое место? Есть ли способ одновременно выполнять вызовы Session-Run в C ++?

Информация об окружающей среде

Операционная система: Linux
Установленная версия CUDA и cuDNN: N / A

Какие еще попытки решения вы пробовали?

  1. Я установил TF, используя оптимизированный набор инструкций для ЦП, но, похоже, он не дает мне огромной экономии времени, упомянутой в StackOverflow
  2. Унифицировал сессию для Графа, который я создал.

РЕДАКТИРОВАТЬ
Кажется, что MatMul — узкое место — какие-нибудь предложения, как улучшить это?

Должен ли я использовать скрипт «optimize_for_inference.py» для моего замороженного графика?

Как вы можете измерить время в Python с высокой точностью?

График подачи образца 8х8 и получения результата в Python

Временная шкала для подачи партии 8×8 и получения результата в Python

0

Решение

Для справки, я сделал две вещи, которые значительно увеличили скорость моего приложения:

  1. Скомпилированный TF для работы на оптимизированном ISA моей машины.
  2. Прикладная дозировка к моим образцам данных.

Пожалуйста, не стесняйтесь комментировать здесь, если у вас есть вопросы по поводу моего ответа.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]