MobileNet-SSD利用caffe-int8-convert-tools工具量化经验

MobileNet-SSD利用caffe-int8-convert-tools工具量化经验

下载caffe-int8-convert-tools工具:
caffe-int8-convert-tools
准备test文件夹:
test/images为验证机图片
test/models为MobileNet-SSD的caffemodel和prototxt文件

旧版caffe模型更新为新版模型:(ncnn只支持新版)

$ ~/caffe/build/tools/upgrade_net_proto_text MobileNetSSD.prototxt MobileNetSSD_new.prototxt
$ ~/caffe/build/tools/upgrade_net_proto_binary MobileNetSSD.caffemodel MobileNetSSD_new.caffemodel

得到量化参数文件

利用下载好的python文件运行:

python caffe-int8-convert-tools/caffe-int8-convert-tool-dev-weight.py \
    --proto=models/MobileNetSSD_new.prototxt \
    --model=models/MobileNetSSD_new.caffemodel \
    --mean 127.5 127.5 127.5 \
    --norm=0.00777 \
    --images=caffe-int8-convert-tools/test/images/ \
    --output=caffe-int8-convert-tools/test/MobileNetSSD.table \
    --gpu=1

其中输出为MobileNetSSD.table,是量化的参数文件。

得到量化参数文件(方法二)

根据最新的ncnn框架的更新,不需要借助caffe-int8-convert-tools也可以完成量化。ncnn官方文档说明
下载安装ncnn:

git clone https://github.com/Tencent/ncnn
cd ncnn
mkdir build && cd build
cmake ..
make -j
make install

由caffe模型得到ncnn模型:

./ncnn-master/build/tools/caffe/caffe2ncnn \
	MobileNetSSD_new.prototxt MobileNetSSD_new.caffemodel \
	MobileNetSSD.param MobileNetSSD.bin

得到ncnn模型的param和bin文件。

优化ncnn模型:

./ncnn-master/build/tools/ncnnoptimize \
	MobileNetSSD.param MobileNetSSD.bin \
	MobileNetSSD-new.param MobileNetSSD-new.bin 0

提取验证集图片:

find images/ -type f > imagelist.txt

并得到量化参数文件:

./ncnn-master/build/tools/quantize/ncnn2table \
	MobileNetSSD-new.param MobileNetSSD-new.bin \
	imagelist.txt MobileNetSSD.table \
	mean=[104,117,123] norm=[0.017,0.017,0.017] \
	shape=[224,224,3] pixel=BGR thread=8 method=kl

shape 是模型的输入尺寸,[w,h] 或 [w,h,c]
pixel 是模型的像素格式
thread 是可用于并行推理的 CPU 线程数
method是训练后量化算法,目前支持kl和aciq

通过table文件量化模型

输入为ncnn的原始bin、param文件和table文件,输出为量化后int8的bin、param文件:

./ncnn-master/build/tools/quantize/ncnn2int8 \
	MobileNetSSD-new.param MobileNetSSD-new.bin \
	MobileNetSSD-int8.param MobileNetSSD-int8.bin \
	MobileNetSSD.table
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值