Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column
width45%
Panel
titleНа странице:

Table of Contents

Column

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

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

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

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

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

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

  1. Остановить

  2. Сервер
  3. cервер (см.

  4.  Завершение работы Сервера
  5. Остановка сервера).

    Note
    titleВнимание!

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

  6. В ОС Windows в Параметры → Настройки графики отключить параметр Планирование графического процессора с аппаратным ускорением. Данный параметр увеличивает нагрузку на сервер. 
  7. Создать системную

  8. переменную
  9. переменную GPU_CACHE_DIR (см. 

  10. Приложение 10.
  11. Создание системных переменных), указав в поле Значение путь к расположению кэша с произвольным названием папки. Например, D:\

  12. AN_
  13. GPU_cache. В указанной директории будет храниться кэш по всем используемым детекторам и нейросетям. Ориентировочный размер кэша будет зависеть от количества используемых нейросетей и их типа. Минимальный размер – 70 МБ.

    Note
    titleВнимание!

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

  14. Для вызова утилиты открыть в командной строке:
  15. Запустить командную строку от имени администратора.
  16. В командной строке ввести запрос C:\Program Files\Common Files\ITV\DetectorPack\NeuroPackGpuCacheGenerator.exe
  17. и нажать
  18.  для вызова утилиты.
  19. Нажать Enter.

  20. Указать ID требуемой Nvidia GPU (см.
  21. Общие сведения о
  22. Выбор Nvidia GPU при настройке детекторов)
  23. и нажать 
  24. .
  25. Нажать Enter.

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

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

  • Image Removed
Note
titleВнимание!

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

  • обновлении Дополнение: пакет нейроаналитики
При обновлении пакета нейроаналитики 
  • (см.
  или
  • ,
  • замене модели
GPU NVIDIA требуется повторное создание кэша
  • Nvidia GPU,
  • обновлении драйверов Nvidia GPU.

Создание GPU кэшей

...

нейросетей с использованием ключей

...

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

  2. сети
  3. нейросети.
    Пример команды:

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

    Для создания кэша для нескольких

  8. сетей
  9. нейросетей необходимо перечислить пути к выбранным

  10. сетям
  11. нейросетям через пробел.
    Пример команды:

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

  17. сетей
  18. нейросетей, входящих в состав

  19. пакета
  20. Дополнение: пакет нейроаналитики с выводом логов:

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

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

    Code Block
    C:\Program Files\Common Files\ITV\DetectorPack\NeuroPackGpuCacheGenerator.exe -p "<Системный диск>\<Директория расположения 
  21. сети>
  22. нейросети>\Название_
  23. сети
  24. нейросети.ann" -v
  25. --int8=1 – ключ для создания

  26. квантизированного варианта
  27. кэша для тех

  28. сетей
  29. нейросетей, для которых доступно квантование. Нейросети, для которых

  30. доступна квантизация
  31. доступен режим квантования, входят в состав Дополнение: пакет нейроаналитики вместе с одноименным файлом *.info. По умолчанию: --int8=0 – выключен.
    Пример команды:

    Code Block
    C:\Program Files\Common Files\ITV\DetectorPack\NeuroPackGpuCacheGenerator.exe --int8=1
  32. Note
    titleВнимание!

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

    Сети, для которых доступен режим квантизации
  33. -f – ключ для сохранения логов процедуры кэширования в файлы. Доступен с версии DetectorPack 3.15. При совместном использовании ключей -v и -f логи по каждому созданному кэшу сохраняются в: <Путь к папке с кэшем, созданной для системной переменной GPU_CACHE_DIR>\caching-utility-log. Для каждой нейросети создается отдельный файл лога. Файлы логов, созданные при предыдущих запусках утилиты, удаляются.

    Пример команды для создания кэша с подробным логированием в консоль и сохранением логов в файлы:

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

Нейросети, для которых доступен режим квантования (см. НейротрекерДетектор остановившегося объектаНейросчетчик):

  • GeneralNMCar_v1.0GPU_onnx.ann

...

  • (или GeneralNMCar_v1.0_onnx.ann, начиная с версии Detector Pack 3.16) – Транспортное средство.
  • GeneralNMHuman_v1.0GPU_onnx.ann (или GeneralNMHuman_v1.0_onnx.ann

...

  • , начиная с версии Detector Pack 3.16) – Человек.
  • GeneralNMHumanTopView_v0.8GPU_onnx.ann

...

  • (или GeneralNMHumanTopView_v0.8_onnx.ann, начиная с версии Detector Pack 3.16)– Человек (вид сверху).

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

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

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

  • GeneralNMHumanTopView_Nano_v1.0_GPU_onnx.ann – Человек (вид сверху Нано).
  • GeneralNMHumanTopView_Medium_v1.0_GPU_onnx.ann – Человек (вид сверху Средняя).
  • GeneralNMHumanTopView_Large_v1.0_GPU_onnx.ann – Человек (вид сверху Большая)

...

  • .