[Вывод модели] Преобразование и квантование модели Tengine

искусственный интеллект
[Вывод модели] Преобразование и квантование модели Tengine

欢迎关注我的公众号 [极智视界],回复001获取Google编程规范

O_o>_<  o_OO_o~_~o_O

  В этой статье представлен процесс преобразования и количественной оценки модели Tengine.

  Tengine, как и ncnn, также является отличной сквозной структурой рассуждений.преобразование модели ncnn и процесс количественного определения, и заинтересованные студенты могут обратиться к нему.

  Начните ниже.

1. Скомпилируйте инструменты Tenine

  Включите переключатели CONVERT_TOOL и QUANT_TOOL в CmakeList.txt:

  Начать компиляцию:

cd <Tengine-path>
mkdir build

cd build

# 开始编译
camke ..
make -j32
make install

  После компиляции он будет в./build/install/bin/создается в каталогеconvert_toolиquant_tool,следующее:

     

2. Преобразование модели двигателя

  Взгляните на следующую командуconvert_toolКакие параметры необходимы:

cd ./build/install/bin

./convert_tool -h

  Как и выше, вводится передняя часть, а выводится задняя часть.

  Внешняя поддержка инструмента преобразования моделей, предоставляемого Tengine, очень богата, в основном она включает все основные зарубежные и отечественные фреймворки глубокого обучения.

  Интерфейс Caffe:

./convert_tool -f caffe -p ./mobilenet.prototxt -m ./mobilenet.caffemodel -o ./mobilenet.tmfile

  Внешний интерфейс Onnx:

./convert_tool -f onnx -m ./mobilenet.onnx -o ./mobilenet.tmfile

  Внешний интерфейс — Mxnet:

./convert_tool -f mxnet -p ./mobilenet.params -m ./mobilenet.json -o ./mobilenet.tmfile

  Внешний интерфейс — Даркнет:

./convert_tool -f darknet -p ./yolov3.weights -m ./yolov3.cfg -o yolov3.tmfile

  Передняя часть — TensorFlow:

./convert_tool -f tensorflow -m mobielenet_v1_1.0_224_frozen.pb -o mobilenet.tmfile

  Передняя часть TFLite:

./convert_tool -f tflite -m mobielenet.tflite -o mobilenet.tmfile

  Внешний интерфейс — MegEngine:

./convert_tool -f megengine -m mobilenet.pkl -o mobilenet.tmfile

  Внешний интерфейс — OneFlow:

./convert_tool -f oneflow -p mobilenet.prototxt -m mobilenet/ -o mobilenet.tmfile

  Передняя часть ncnn:

./convert_tool -f ncnn -p mobilenet.param -m mobilenet.bin -o mobilenet.tmfile

3. Количественное мышление

  Как видите, Tengine предоставляет три количественных инструмента:quant_tool_int8,quant_tool_uint8,quant_tool_uint8_perchannel, которые являются симметричным квантованием, асимметричным квантованием и асимметричным квантованием канала за каналом.Внутренние стратегии квантования аналогичны.quant_tool_int8Скажи это.

  Сначала установите библиотеку зависимостей:

apt update
apt install libopencv-dev

  Используйте следующую команду для просмотра параметров инструмента квантования:

./quant_tool_int8 -h

  Видно, что параметров по-прежнему относительно много.

  Интерфейсный ввод — файл fp32 tmfile, пример выполнения квантования:

./quant_tool_int8  -m ./mobilenet_fp32.tmfile -i ./dataset -o ./mobilenet_int8.tmfile -g 3,224,224 -w 104.007,116.669,122.679 -s 0.017,0.017,0.017

  В случае успешного выполнения будет выводиться следующий журнал:

  И сгенерируйте следующий файл модели int8:

     

  Затем вы можете использовать его для выполнения рассуждений.

  Выше я поделился методами преобразования и количественной оценки модели Tengine. Я надеюсь, что мой обмен поможет вам в вашем обучении.


【Передача по общему номеру】 "[Вывод модели] Преобразование и квантование модели Tengine