Двигатель от ввода до отказа Часть 2 - Модель преобразования двигателя

искусственный интеллект
Двигатель от ввода до отказа Часть 2 - Модель преобразования двигателя

Модель преобразования двигателя

окрестности

System: Ubuntu18.04

CMAKE: 3.15.3

Скомпилировать инструмент преобразования модели

На самом деле Tengine — это инструмент преобразования бинарной модели, который предоставляет версию для Linux (скачать), чтобы читатели могли разобраться подробнее, или написать процесс компиляции инструмента.

Готов к работе

Чтобы убедиться, что нет проблем с последующим выполнением, сначала выполните

sudo apt install libprotobuf-dev protobuf-compiler

После установки в терминале будет отображаться следующее содержимое

libprotobuf-dev 已经是最新版
protobuf-compiler 已经是最新版

Клонировать исходный код Tengine-Convert-Tools

git clone https://github.com/OAID/Tengine-Convert-Tools

компилировать

cd Tengine-Convert-Tools
mkdir build && cd build
cmake ..

Если вы выводите следующий контент, значит проблем нет

-- Configuring done
-- Generating done

компилировать

make -j4 && make install

После завершения компиляции инструмент помещается в./build/install/bin

конверсионная модель

Ultra-Light-Fast-Generic-Face-Detector-1MB

Эта модель представляет собой облегченную модель обнаружения лиц, разработанную для граничных вычислительных устройств:

  1. Что касается размера модели, то размер файла точности FP32 (.pth) по умолчанию составляет 1,04–1,1 МБ, а квантованный размер платформы вывода int8 составляет около 300 КБ.
  2. Что касается объема расчета модели, то он составляет около 90~109 MFlops при входном разрешении 320x240.
  3. Есть две версии модели, версия-slim (базовая часть чуть быстрее), версия-RFB (добавлен модифицированный модуль RFB, и точность выше).
  4. Предоставляет предварительно обученные модели, обученные с более широким лицом при различных входных разрешениях 320 x 240 и 640 x 480, которые могут лучше работать в различных сценариях приложений.
  5. Поддержка экспорта onnx.

Мы изменим эту модель на доступную модель Tengine.

Давайте сначала загрузим Ultra-Light-Fast-Generic-Face-Detector-1MB

git clone https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB

Скопируйте version-RFB-320_simplified.onnx из ./Ultra-Light-Fast-Generic-Face-Detector-1MB/models/onnx в ./Tengine-Convert-Tools/build/install/bin

cp ./Ultra-Light-Fast-Generic-Face-Detector-1MB/models/onnx/version-RFB-320_simplified.onnx ./Tengine-Convert-Tools/build/install/bin/

Эта модельonnx-simplifierОптимизировано, если этот процесс не выполняется, некоторые неподдерживаемые операторы могут быть зарезервированы.

конвертировать

./tm_convert_tool -f onnx -m version-RFB-320_simplified.onnx -o version-RFB-320_simplified.tmfile

вывод

Create tengine model file done: version-RFB-320_simplified.tmfile

Успешное преобразование с тех пор

Автоматически компилировать скрипты

sudo apt install libprotobuf-dev protobuf-compiler

git clone https://github.com/OAID/Tengine-Convert-Tools
git clone https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB

cd Tengine-Convert-Tools
mkdir build && cd build
cmake ..
make -j4 && make install

cd ../..

cp ./Ultra-Light-Fast-Generic-Face-Detector-1MB/models/onnx/version-RFB-320_simplified.onnx ./Tengine-Convert-Tools/build/install/bin/

cd ./Tengine-Convert-Tools/build/install/bin/

./tm_convert_tool -f onnx -m version-RFB-320_simplified.onnx -o version-RFB-320_simplified.tmfile

вы можете напрямую

wget https://raw.githubusercontent.com/jiangzhongbo/Tengine_Tutorial/master/1_Convert/convert_facedetect_onnx_2_tmfile.sh
sh convert_facedetect_onnx_2_tmfile.sh

Ссылаться на

GitHub.com/OA ID/десять джин…

GitHub.com/большие недостатки/о…

Ultra-Light-Fast-Generic-Face-Detector-1MB

исходный код

GitHub.com/ выиграет тендер…

Знай почти

zhuanlan.zhihu.com/p/187387769