欢迎关注我的公众号 [极智视界],回复001获取Google编程规范
O_o
>_<
o_O
O_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》