yolov3:ncnn之int8量化

您所在的位置:网站首页 YOLO模型量化 yolov3:ncnn之int8量化

yolov3:ncnn之int8量化

2024-07-09 16:09| 来源: 网络整理| 查看: 265

笔者将yolov3基于darknet2ncnn在Android移植过程中发现yolov3的模型过大,导致加载不了,为了解决这个问题,笔者想到了int8量化操作,经过int8量化操作后,其模型由200M变为60多M,能顺利加载且精度基本没变,速度也有所提升。 下面将量化步骤和大家分享下: 1、下载合并darknet自定义层的ncnn: https://github.com/xiangweizeng/ncnn 2、在tools文件夹下的CMakeLists.txt打开add_subdirectory(quantize) 在这里插入图片描述 3、编译ncnn

4、将darknet2ncnn下转换得到的 yolov3.bin和yolov3.param拷贝上面ncnn目录下build/tools路径下

5、运行

./ncnnoptimize yolov3.param yolov3.bin yolov3_new.param yolov3_new.bin 0

得到yolov3_new.bin和yolov3_new.param 在这里插入图片描述 6、将第五步得到的两个文件拷贝到quantize文件夹下,运行

./ncnn2table --param=yolov3_new.param --bin=yolov3_new.bin --images=/home/lw/work/darknet/VOCdevkit/VOC0302/JPEGImages/ --output=yolov3.table --mean=0.0,0.0,0.0 --norm=0.003922,0.003922,0.003922 --size=416,416

在这里插入图片描述 在这里插入图片描述 –images是训练的图片路径这一步时间比较长,耐心等待。

出现下面图的内容时,恭喜你成功了 在这里插入图片描述 7、运行

./ncnn2int8 yolov3_new.param yolov3_new.bin yolov3-int8.param yolov3-int8.bin yolov3.table

得到 yolov3-int8.param和yolov3-int8.bin 在这里插入图片描述 8、将yolov3-int8.param和yolov3-int8.bin代入到darknet2ncnn工程下,运行得到结果: 在这里插入图片描述 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3