Запуск работы алгоритмов нейроаналитики на NVIDIA GPU после перезагрузки Сервера может занимать несколько минут. В это время осуществляется оптимизация нейромоделей под конкретный тип используемого GPU.
Для того чтобы эта операция выполнялась только единожды, можно использовать функцию кэширования. Она сохраняет результат оптимизации на жестком диске и использует его при последующих запусках аналитики.
Начиная с версии DetectorPack 3.11 в состав пакета нейроаналитики (см. Установка дополнительных пакетов Детектор Пак) добавлена утилита, которая позволяет создавать GPU кэши сетей без использования ПК Интеллект X. Наличие кэша влияет на ускорение инициализации и оптимизирует потребление видеопамяти.
Для оптимизации работы нейроаналитики на GPU необходимо:
Остановить Сервер (см. Запуск и остановка Сервера ПК Интеллект X в ОС Linux).
Если в системе используется ПО, работающее на GPU, необходимо остановить процесс его работы. |
sudo -i |
mkdir /opt/ITV/IntellectX/gpucache |
chmod -R 777 /opt/ITV/IntellectX/gpucache |
cd /opt/ITV/IntellectX |
nano instance.conf |
export GPU_CACHE_DIR="/opt/ITV/IntellectX/gpucache" |
export GPU_CACHE_DIR="/opt/ITV/IntellectX/gpucache" |
Перейти в папку /opt/ITV/DetectorPack:
cd /opt/ITV/DetectorPack |
./NeuroPackGpuCacheGenerator |
Если доступно более одной GPU Nvidia, будет предложен выбор GPU, который требуется указать в виде числа от 0 до 3 в соответствии с отображаемым списком устройств. |
Оптимизация работы нейроаналитики на GPU завершена. Утилита создаст кэши 4 нейросетей, входящих в состав пакета нейроаналитики:
-p – ключ для создания кэша для определенной нейросети.
Пример команды:
./NeuroPackGpuCacheGenerator -p /opt/ITV/DetectorPack/NeuroSDK/GeneralNMHumanAndVehicle_Nano_v1.0_GPU_onnx.ann |
-v – ключ для вывода лога процедуры в консоль в процессе формирования кэша.
Пример команды для автоматического создания кэшей 4-х нейросетей, входящих в состав пакета нейроаналитики с выводом логов:
./NeuroPackGpuCacheGenerator -v |
--int8=1 – ключ для создания кэша для тех нейросетей, для которых доступна квантование. По умолчанию: --int8=0 – выключен.
Пример команды:
./NeuroPackGpuCacheGenerator -p /opt/ITV/DetectorPack/NeuroSDK/GeneralNMHumanAndVehicle_Nano_v1.0_GPU_onnx.ann --int8=1 |
Нейросети, для которых доступен режим квантования, входят в состав пакета нейроаналитики вместе с одноименным файлом *.info |
Нейросети, для которых доступен режим квантования (см. Нейротрекер, Детектор остановившегося объекта, Нейросчетчик):
Начиная с версии DetectorPack 3.11 добавлены нейросети:
Начиная с версии DetectorPack 3.12 добавлены нейросети: