Перейти к основному содержимому
Версия: 3.22.0 (последняя)

Использование GPU

Распознавание лиц требует использования значительных вычислительных ресурсов, поэтому мы добавили возможность ускорения модулей Face SDK с использованием GPU для выполнения алгоритмов глубокого обучения.

В данном разделе вы узнаете:

  • Для каких модулей Face SDK доступно ускорение.
  • Как включить ускорение.
  • Результаты тестирования работы модулей с использованием CPU и GPU.
  • Возможные ошибки при использовании GPU и пути решения.

Desktop

Системные требования для использования GPU

На данный момент ускорение с использованием GPU доступно для следующих модулей Face SDK (доступно использование только одного GPU):

Для запуска моделей на GPU отредактируйте файл конфигурации объекта Recognizer или Capturer, изменив значение поля use_cuda с 0 на 1.

примечание

Для запуска обработке на cuda 10.1, отредактируйте файл конфигурации объекта, добавив поле use_legacy со значением 1

Ускорение происходит за счет одного из доступных GPU (по умолчанию – на GPU с индексом 0). Индекс GPU можно изменить следующим образом:

  • Через параметр gpu_index в файле конфигурации объекта Recognizer.
  • Через переменную окружения CUDA_VISIBLE_DEVICES (Более подробно о переменных окружения CUDA смотрите по ссылке).

Результаты тестирования

В таблице ниже представлены замеры скорости построения шаблона с использованием CPU и GPU:

MethodGPUCPU
12v100047 мс442 мс
9v30010 мс292 мс
12v1008 мс49 мс
12v506 мс21 мс
12v305 мс12 мс

Примечание. при проведении замеров скорости использовалась видеокарта NVIDIA GTX 1070 и процессор Intel Core i5-9400 4.0GHz.

Устранение ошибок

ОшибкаРешение
Assertion failed (Cannot open shared object file libtensorflow.so.2)Убедитесь, что файл библиотеки libtensorflow.so.2 находится в одной директории с используемой библиотекой libfacerec.so
Assertion failed (Cannot open shared object file tensorflow.dll)Убедитесь, что файл библиотеки tensorflow.dll находится в одной директории с используемой библиотекой facerec.dll
Медленная инициализацияУвеличьте размер JIT кэша: export CUDA_CACHE_MAXSIZE=2147483647 (подробнее - JIT Caching )

Android

На данный момент ускорение с использованием GPU на Android доступно для следующих модулей Face SDK:

Использование GPU можно включить/отключить через флаг use_mobile_gpu в файлах конфигурации объектов Capturer, Recognizer,VideoWorker (в файле конфигурации объекта VideoWorker использование GPU активируется для детекторов). По умолчанию поддержка мобильных GPU включена (значение 1). Чтобы отключить использование GPU, измените значение флага use_mobile_gpu на 0.

Результаты тестирования

В таблице ниже представлены замеры скорости построения шаблона с использованием CPU и GPU:

МетодCPUGPU
9v10003660 мс610 мс
9v3001960 мс280 мс
9v30170 мс70 мс

Примечание. при проведении замеров скорости использовалось устройство Google Pixel 3.

примечание

GPU ускорение работает не на всех android устройствах