Versions Compared

Key

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

Table of Contents

Column

Tip

Создание системных переменных для сервера ПК Интеллект Х в ОС Linux

Создание системных переменных для сервера ПК Интеллект Х в отказоустойчивом режиме в ОС Linux

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

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

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

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

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

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

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

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

  4.  
  5. Запуск и остановка Сервера ПК Интеллект X в ОС Linux).

    Note
    titleВнимание!

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

  6. Войти под пользователем ngp:
    1. Ввести в терминале команду:
      Code Block
      languagebash
      sudo su ngp
    2. Ввести пароль от суперпользователя
  7. root
    1. .
  8. Создать папку с произвольным названием для расположения кэша. Например:
    Code Block
    languagebash
    mkdir /opt/ITV/IntellectX/gpucache
  9. Изменить права доступа к папке:
    Code Block
    languagebash
    chmod -R 777 /opt/ITV/IntellectX/gpucache
  10. Перейти в папку /opt/ITV/IntellectX:
    Code Block
    languagebash
    cd /opt/ITV/IntellectX
  11. Открыть файл конфигурации сервера для редактирования:
    Code Block
    languagebash
    nano instance.conf
    Note
    titleВнимание!

    При использовании сервера в отказоустойчивом режиме (FailOver) необходимо:

    1. Открыть папку /etc/ITV:
      Code Block
      languagebash
      cd /etc/ITV
    2. Открыть файл конфигурации сервера для редактирования:
      Code Block
      languagebash
      nano intellect-x.conf
      Info
      titleВнимание!

      Перед внесением изменений в файл intellect-x.conf рекомендуется ознакомиться с инструкцией на странице Создание системных переменных для сервера ПК Интеллект Х в отказоустойчивом режиме в ОС Linux.

    3. Добавить системную переменную GPU_CACHE_DIR в файл конфигурации, где в значении будет указан путь к папке для расположения кэша. Например:
      Code Block
      languagebash
      export GPU_CACHE_DIR="/opt/ITV/IntellectX/gpucache"
    4. Сохранить изменения в файле.
    5. Добавить системную переменную GPU_CACHE_DIR в файл /etc/profile.
      Code Block
      languagebash
      export GPU_CACHE_DIR="/opt/ITV/IntellectX/gpucache
  12. Создать
    1. "
    2. Выполнить команду.
      Code Block
      languagebash
      source /etc/profile
  13. Добавить системную переменную GPU_CACHE_DIR, где в значении будет указан путь к папке для расположения кэша
  14. (см. Создание системных переменных для сервера ПК Интеллект Х в ОС Linux
  15. . Например:
    Code Block
    languagebash
    export GPU_CACHE_DIR="/opt/ITV/IntellectX/gpucache"
  16. Сохранить изменения в файле конфигурации с помощью сочетания клавиш Ctrl+O.
  17. Выйти из режима редактирования файла с помощью сочетания клавиш Ctrl+X.
    Note
    titleВнимание!

    При изменении конфигурации сервера (см. Изменение конфигурации Сервера Интеллект X в ОС Linux) или при обновлении на новую версию ПК Интеллект Х ранее добавленные в файл конфигурации instance.conf системные переменные будут удалены (см. Создание системных переменных для сервера ПК Интеллект Х в

  18. отказоустойчивом режиме в
  19. ОС Linux).

  20. Выполнить команду в терминале, которая использовалась для добавления системной переменной с указанием пути к папке с кэшем. Например:
    Code Block
    languagebash
    export GPU_CACHE_DIR="/opt/ITV/IntellectX/gpucache"
  21. Перейти в папку /opt/ITV/DetectorPack:

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

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

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

  • GeneralNMHuman_v1.0GPU_onnx.ann – человек;
  • 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 – поиск похожих в нейротрекере (см. Поиск похожих образов).

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

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

    Code Block
    languagebash
    ./NeuroPackGpuCacheGenerator -p /opt/ITV/DetectorPack/NeuroSDK/GeneralNMHumanAndVehicle_Nano_v1.0_GPU_onnx.ann
  2. -v – ключ для вывода лога процедуры в консоль в процессе формирования кэша.
    Пример команды для автоматического создания кэшей 4-х нейросетей, входящих в состав пакета нейроаналитики с выводом логов:

    Code Block
    languagebash
    ./NeuroPackGpuCacheGenerator -v
  3. --int8=1 – ключ для создания кэша для тех нейросетей, для которых доступна квантование. По умолчанию: --int8=0 – выключен.
    Пример команды:

    Code Block
    languagebash
    ./NeuroPackGpuCacheGenerator -p /opt/ITV/DetectorPack/NeuroSDK/GeneralNMHumanAndVehicle_Nano_v1.0_GPU_onnx.ann --int8=1
    Note
    titleВнимание!
    Нейросети, для которых доступен режим квантования, входят в состав пакета нейроаналитики вместе с одноименным файлом *.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 добавлены нейросети:

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