На странице:


Общие сведения

Запуск работы алгоритмов нейроаналитики на NVIDIA GPU после перезагрузки Сервера может занимать несколько минут. В это время осуществляется оптимизация нейромоделей под конкретный тип используемого GPU.

Для того чтобы эта операция выполнялась только единожды, можно использовать функцию кэширования. Она сохраняет результат оптимизации на жестком диске и использует его при последующих запусках нейроаналитики.

Начиная с версии DetectorPack 3.9 в состав пакета нейроаналитики (см. Установка дополнительных пакетов Детектор Пак) добавлена утилита, которая позволяет создавать GPU кэши нейросетей без использования ПК Интеллект X. Наличие кэша влияет на ускорение инициализации и оптимизирует потребление видеопамяти.

Оптимизация работы нейроаналитики на GPU

Внимание!

Данная функция работает в экспериментальном режиме для всех детекторов, использующих нейроаналитику (см. Общие сведения о нейроаналитике), кроме детектора лиц. Для оптимизации работы детектора лиц с помощью системной переменной GPU_CACHE_DIR необходимо выполнить дополнительные действия (см. Оптимизация работы детектора лиц на GPU).

Для оптимизации работы нейроаналитики на GPU необходимо:

  1. Остановить Сервер (см. Завершение работы Сервера).

    Внимание!

    Если в системе используется ПО, работающее на GPU, необходимо остановить процесс его работы.

  2. Создать системную переменную GPU_CACHE_DIR (см. Приложение 9. Создание системных переменных), указав в поле Значение путь к расположению кэша с произвольным названием папки. Например, D:\GPU_cache. В указанной директории будет храниться кэш по всем используемым детекторам и нейросетям. Ориентировочный размер кэша будет зависеть от количества используемых нейросетей и их типа. Минимальный размер – 70 МБ.

    Внимание!

    Если в значении системной переменной GPU_CACHE_DIR указанная существующая папка содержит символы кириллицы (например: D:\Кэш), необходимо убедиться, что в настройках региона во вкладке Дополнительно (1) параметр Текущий язык программ, не поддерживающих Юникод (2) имеет значение Русский (Россия) (3).

  3. Запустить командную строку от имени администратора.
  4. В командной строке ввести запрос C:\Program Files\Common Files\ITV\DetectorPack\NeuroPackGpuCacheGenerator.exe для вызова утилиты.
  5. Нажать Enter.

  6. Указать ID требуемой GPU Nvidia (см. Выбор Nvidia GPU при настройке детекторов).
  7. Нажать Enter.

Оптимизации работы нейроаналитики на GPU завершена. Утилита создаст кэши 4-х нейросетей, входящих в состав пакета нейроаналитики:

  • GeneralNMHuman_v1.0GPU_onnx.ann – человек;
  • smokeScanned_v1_onnx.ann – детекция дыма;
  • fireScanned_v1_onnx.ann – детекция огня;
  • reid_15_0_256__osnetfpn_segmentation_noise_20_common_29_onnx.ann – поиск похожих в нейротрекере (см. Поиск по изображениям).

Внимание!

Требуется повторное создание кэша при:

Создание GPU кэшей нейросетей с использованием ключей

  1. -p – ключ для создания кэша для определенной нейросети.
    Пример команды:

    C:\Program Files\Common Files\ITV\DetectorPack\NeuroPackGpuCacheGenerator.exe -p "<Системный диск>\<Директория расположения нейросети>\Название_нейросети.ann"

    Для создания кэша для нескольких нейросетей необходимо перечислить пути к выбранным нейросетям через пробел.
    Пример команды:

    C:\Program Files\Common Files\ITV\DetectorPack\NeuroPackGpuCacheGenerator.exe -p "<Системный диск>\<Директория расположения нейросети>\Название_нейросети.ann" "C:\Program Files\Common Files\ITV\DetectorPack\NeuroSDK\WaterLevelRuleNet_origin_onnx.ann"
  2. -v – ключ для вывода лога процедуры в консоль в процессе формирования кэша.
    Пример команды для автоматического создания кэшей 4-х нейросетей, входящих в состав пакета нейроаналитики с выводом логов:

    C:\Program Files\Common Files\ITV\DetectorPack\NeuroPackGpuCacheGenerator.exe -v

    Пример команды:

    C:\Program Files\Common Files\ITV\DetectorPack\NeuroPackGpuCacheGenerator.exe -p "<Системный диск>\<Директория расположения нейросети>\Название_нейросети.ann" -v
  3. --int8=1 – ключ для создания квантизированного варианта кэша для тех нейросетей, для которых доступна квантизация. Нейросети, для которых доступен режим квантизации, входят в состав пакета нейроаналитики вместе с одноименным файлом *.info. По умолчанию: --int8=0 – выключен.
    Пример команды:

    C:\Program Files\Common Files\ITV\DetectorPack\NeuroPackGpuCacheGenerator.exe --int8=1

    Нейросети, для которых доступен режим квантизации (см. Нейротрекер):

    • GeneralNMCar_v1.0GPU_onnx.ann – транспортные средства.
    • GeneralNMHuman_v1.0GPU_onnx.ann – человек.
    • GeneralNMHumanTopView_v0.8GPU_onnx.ann – человек, вид сверху.

Начиная с версии DetectorPack 3.11 добавлены нейросети:  

    • GeneralNMHumanAndVehicle_Nano_v1.0_GPU_onnx.ann – человек и транспортное средство (Нано).
    • GeneralNMHumanAndVehicle_Medium_v1.0_GPU_onnx.ann – человек и транспортное средство (Средняя).
    • GeneralNMHumanAndVehicle_Large_v1.0_GPU_onnx.ann – человек и транспортное средство (Большая).
  • No labels