You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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

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

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

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

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

    Внимание!

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

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

    Внимание!

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

    Ориентировочный размер кэша будет зависеть от количества используемых нейросетей и их типа, минимальный размер 70 МБ.

    Внимание!

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

  3. Для вызова утилиты открыть в командной строке: C:\Program Files\Common Files\ITV\DetectorPack\NeuroPackGpuCacheGenerator.exe и нажать Enter.
  4. Указать ID требуемой GPU (см. Общие сведения о настройке детекторов) и нажать 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 – ключ для создания квантизированного варианта кэша для тех сетей, для которых доступна квантизация. По умолчанию: --int8=0 – выключен.
    Пример команды:

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

    Внимание!

    Сети, для которых доступен режим квантизации, входят в состав пакета нейроаналитики вместе с одноименным файлом *.info

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

    • 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