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 после перезагрузки Сервера может занимать несколько минут. В это время осуществляется оптимизация нейромоделей под конкретный тип используемого GPU.

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

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

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

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

  1. Остановить Сервер (см. Запуск и остановка Сервера ПК Интеллект X в ОС Linux).

    Note
    titleВнимание!

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

  2. Войти под
  3. суперпользователем root
  4. пользователем ngp:
    1. Ввести в терминале команду:
      Code Block
      languagebash
      sudo su 
  5. -i
    1. ngp
    2. Ввести пароль от суперпользователя root.
  6. Создать
  7. папку с
  8. папку с произвольным названием для расположения кэша. Например:
    Code Block
    languagebash
    mkdir /opt/ITV/IntellectX/gpucache
  9. Изменить права доступа к папке:
    Code Block
    languagebash
    chmod -R 777 /opt/ITV/IntellectX/gpucache
  10. Создать системную переменную GPU_CACHE:
    1. Открыть папку /opt/ITV/IntellectX:
      Code Block
      languagebash
      cd /opt/ITV/IntellectX
    2. Открыть файл instance.conf для редактирования:
      Code Block
      languagebash
      nano instance.conf
    3. Добавить в файл строку:
      Code Block
      languagebash
      export GPU_CACHE_DIR="/opt/ITV/IntellectX/gpucache"
    4. Сохранить файл с помощью сочетания клавиш Ctrl+O.
    5. Выйти из режима редактирования файла с помощью сочетания клавиш Ctrl+X.
    6. В терминале выполнить команду:
      Code Block
      languagebash
      export GPU_CACHE_DIR="/opt/ITV/IntellectX/gpucache"
  11. Перейти в папку /opt/ITV/DetectorPack:

    Code Block
    languagebash
    cd /opt/ITV/DetectorPack
  12. Выполнить команду:
    Code Block
    languagebash
    ./NeuroPackGpuCacheGenerator
    Note
    titleВнимание!

    Если доступно более одной GPU Nvidia, будет предложен выбор GPU, который требуется указать в виде числа от 0 до 3 в соответствии с отображаемым списком устройств.

Оптимизация Оптимизация работы нейроаналитики на GPU завершена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. -

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

    Code Block
    languagebash
    ./NeuroPackGpuCacheGenerator -p /opt/ITV/DetectorPack/NeuroSDK/GeneralNMHumanAndVehicle_Nano_v1.0_GPU_onnx.ann
  4. -v

  5.  
  6.  – ключ для вывода лога процедуры в консоль в процессе формирования кэша.
    Пример команды для автоматического создания кэшей 4-х нейросетей, входящих в состав пакета нейроаналитики с выводом логов:

    Code Block
    languagebash
    ./NeuroPackGpuCacheGenerator -v
  7. --int8=1 – ключ для создания

  8. квантизированного варианта
  9. кэша для тех нейросетей, для которых доступна

  10. квантизация
  11. квантование. По умолчанию:

  12.  
  13. --int8=0 – выключен.
    Пример команды:

    Code Block
    languagebash
    ./NeuroPackGpuCacheGenerator -p /opt/ITV/DetectorPack/NeuroSDK/GeneralNMHumanAndVehicle_Nano_v1.0_GPU_onnx.ann --int8=1
    Note
    titleВнимание!
    Нейросети, для которых доступен режим
  14. квантизации
  15. квантования, входят в состав пакета нейроаналитики вместе с одноименным файлом *.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 –
  • человек
  • Человек и транспортное средство (Большая).

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

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