развертывание openvino yolov5

глубокое обучение

Это 4-й день моего участия в августовском испытании обновлений.Подробности о событии:Испытание августовского обновления

Программно-аппаратная среда

  • ubuntu 18.04 64bit
  • openvino_2020.3.341
  • yolov5 4.0

что такое опенвино

openvinoявляется решением дляintelРешение для развертывания глубокого обучения на аппаратной платформе, поддерживающееwindows,linuxиmacOS.

Создание среды Openvino

ссылка для скачивания:software.Intel.com/content/woohoo…

После скачивания разархивируйте и войдите в каталог

tar xvf l_openvino_toolkit_p_2020.3.341.tgz
cd l_openvino_toolkit_p_2020.3.341

Выполните сценарий, чтобы начать установку в соответствии с запросом

# 或者使用带GUI界面的安装脚本sudo ./install_GUI.sh
sudo ./install.sh

openvino_onnx_yolov5

Нажмите Enter, чтобы продолжить

openvino_onnx_yolov5

Вариант 2, не соглашаться на сбор моей информации

openvino_onnx_yolov5

Нажмите Enter, чтобы продолжить

openvino_onnx_yolov5

Согласитесь и начните установку

openvino_onnx_yolov5

Нажмите Enter, чтобы продолжить

openvino_onnx_yolov5

На этом установка окончена

Затем проверьте, прошла ли установка успешно.

cd /opt/intel/openvino/deployment_tools/demo
./demo_security_barrier_camera.sh
./demo_security_barrier_camera.sh -d GPU(测试gpu环境)

openvino_onnx_yolov5

Это указывает на то,openvinoУстановка среды прошла успешно.

Здесь следует отметить, что поскольку в процессе установки скрипт уже настроил для нас соответствующее окружение, то нам не нужно делать никаких настроек, когда мы идем на тест. Но если следующая загрузка или открытие новогоterminal, нам нужно сбросить среду и выполнить

source /opt/intel/openvino/bin/setupvars.sh

Или напрямую напишите приведенную выше команду в~/.bashrc, вам не нужно нажимать его каждый раз вручную.

содержание/opt/intelподopenvinoиopenvino_2020.3.3412 каталога, по сути это одно и то же,openvinoявляется файлом мягкой ссылки.

пт в onnx

Сначала подготовьте зависимости

pip install onnx coremltools networkx defusedxml

Из-за текущегоopenvinoверсияonnx opsetПоддержка после версии 11 глючит, поэтому файлы нужно модифицироватьmodel/export.py, оригиналopset_versionИзмените с 12 на 10 следующим образом.

torch.onnx.export(model, img, f, verbose=False, opset_version=10, input_names=['images'],
                    output_names=['classes', 'boxes'] if y is None else ['output'])

Далее вы можетеyolov5изptПреобразовать модель вonnxформат, здесь мы используем собственныйyolov5s.ptмодель для тестирования

python models/export.py --weights weights/yolov5s.pt --img-size 640 --batch-size 1

openvino_onnx_yolov5

После конвертации будетweightsсоздается в папкеyolov5s.onnx

onnx в ир

irкоторыйIntermediate Representation,openvinoОптимизатор модели для (Model Optimizer) преобразует данную модель в стандартнуюirотформатировать и оптимизировать.

использоватьopenvinoВстроенный скрипт можно сделать из.onnxприбыть.binи.xmlпреобразование, команда выглядит следующим образом

mo.py --input_model weights/yolov5s.onnx

openvino_onnx_yolov5

Вы можете видеть, что нынешнее поколениеyolov5s.binиyolov5s.xml

опенвино тест

использовать здесьc++Программа тестирования письменного языка, адрес для скачивания:GitHub.com/convenient 029 quota/лет…, большое спасибо авторуfb029edдоля

cd yolov5_cpp_openvino/demo
mkdir build
cmake ..
make
./detect_test

Необходимо преобразовать ранее сгенерированныйyolov5s.bin,yolov5s.xmlи тестовое изображение, скопированное вresкаталог, переименуйте изображение вbus.jpg

openvino_onnx_yolov5

использованная литература