Versions Compared

Key

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

Table of Contents

Column

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

Запуск работы алгоритмов нейроаналитики на NVIDIA 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. Приложение 9.
  11. Создание системных переменных), указав в поле Значение путь к расположению кэша с произвольным названием папки. Например, D:\GPU_cache. В указанной директории будет храниться кэш по всем используемым детекторам и нейросетям. Ориентировочный размер кэша будет зависеть от количества используемых нейросетей и их типа. Минимальный размер – 70 МБ.

    Note
    titleВнимание!

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

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

    Note
    titleВнимание!

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

  13. Запустить командную строку от имени администратора.
  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 кэшей

...

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

...

  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 – Человек (вид сверху Большая).