【模型推理】ncnn|【模型推理】ncnn 模型转换及量化流程
【【模型推理】ncnn|【模型推理】ncnn 模型转换及量化流程】? 欢迎关注我的公众号 [极智视界],回复001获取Google编程规范
? O_o
? >_<
? o_O
? O_o
? ~_~
? o_O
? 本文介绍一下 ncnn 模型转换及量化流程,以 from_darknet yolov4 为例。
?关于 ncnn 的 ubuntu 和 windows 安装方法可以参考我之前写的:《【嵌入式AI】ubuntu 安装 ncnn》、《【经验分享】win10 qmake 构建 ncnn vs 工程》。
1、模型转换
./darknet2ncnn yolov4.cfg yolov4.weights yolov4.param yolov4.bin 1
?末尾 1 表示三个 yolo 分支合并,若为 0 表示三个 yolo 分支独立输出。
2、图优化
./ncnnoptimize yolov4.param yolov4.bin yolov4-opt.param yolov4-opt.bin 0
3、int8 量化 3.1 优化模型
./ncnnoptimize yolov4.param yolov4.bin yolov4-opt.param yolov4-opt.bin 0
3.2 创建校准表
find images/ -type f > imagelist.txt
./ncnn2table yolov4-opt.param yolov4-opt.bin imagelist.txt yolov4.table mean=[104,117,123] norm=[0.017,0.017,0.017] shape=[224,224,3] pixel=BGR thread=8 method=kl
3.3 量化模型
./ncnn2int8 yolov4-opt.param yolov4-opt.bin yolov4-int8.param yolov4-int8.bin yolov4.table
3.4 加载 int8 模型进行推理
ncnn::Net yolov4;
yolov4.load_param("yolov4-int8.param");
yolov4.load_model("yolov4-int8.bin");
...
ncnn::Extractor ex = yolov4.create_extractor();
ex.input("data", in);
ex.extract("output", out);
...
? 以上以很简洁的方式分享了一下 ncnn from_darknet 的模型转换及量化推理流程。希望会对你的学习有一些帮助。
【公众号传送】
《【模型推理】ncnn 模型转换及量化流程》
推荐阅读
- 宽容谁
- 我要做大厨
- 增长黑客的海盗法则
- 画画吗()
- 2019-02-13——今天谈梦想()
- 远去的风筝
- 三十年后的广场舞大爷
- 叙述作文
- 20190302|20190302 复盘翻盘
- 学无止境,人生还很长