模型推理ncnn模型转换及量化流程(代码片段)

极智视界 极智视界     2023-01-30     503

关键词:

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

O_o>_<o_OO_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 模型转换及量化流程》


扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !

模型推理寒武纪mluresnet50量化及离线推理流程(代码片段)

...搭建、resnet50量化、resnet50离线推理,resnet系列是标准模型,其他模型也可参考该流程执行。文章目录1、 查看详情

ncnn模型推理详解及实战(代码片段)

...cpu和内存硬件特性描述。最后结合shufflenetsample解析了,模型推理的全部流程,详解了sample代码的每个细节。一,依赖库知识速学aarch64OpenMPAVX512submoduleaptupgrade二,硬件基础知识速学2.1,内存2.2,CPU三,ncnn推理模型3.1,shufflenetv2... 查看详情

模型推理谈谈模型量化组织方式(代码片段)

...O_o >_< o_O O_o ~_~ o_O 本文主要聊一下深度学习模型量化组织方式。 在我的这篇《【模型推理】谈谈推理引擎的推理组织流程》文章里对模型量化策略进行了一些介绍,有兴趣的同学可以翻看一下。今天这里主要... 查看详情

模型推理比特大陆se5边缘盒子caffessd量化与转换部署模型(代码片段)

...本教程详细记录了在比特大陆SE5边缘盒子上对caffeSSD检测模型进行量化和转换部署模型的方法。文章目录1、准备ssd模型2、转换fp32bmodel2.1转fp32bmodel2.2、模型精度验证3、Int8量化与模型转换3.1模型转换fp32umodel3.2模型转换int8umodel3.2.1... 查看详情

模型推理谈谈非线性激活函数的量化方式(代码片段)

...O_o >_< o_O O_o ~_~ o_O 本文主要聊一聊深度学习模型量化中对激活函数的处理方式。 之前已经写过几篇关于模型量化的文章:《【模型推理】谈谈几种量化策略:MinMax、KLD、ADMM、EQ》、《【模型推理】谈谈模... 查看详情

模型推理谈谈为什么量化能加速推理(代码片段)

... o_O O_o ~_~ o_O 本文主要讨论一下为什么量化能加速模型推理。 前面已经写过几篇关于模型量化相关的文章:《【模型推理】谈谈几种量化策略:MinMax、KLD、ADMM、EQ》、《【模型推理】谈谈模型量化组织方式》、... 查看详情

量化感知训练实践:实现精度无损的模型压缩和推理加速(代码片段)

简介:本文以近期流行的YOLOX[8]目标检测模型为例,介绍量化感知训练的原理流程,讨论如何实现精度无损的实践经验,并展示了量化后的模型能够做到精度不低于原始浮点模型,模型压缩4X、推理加速最高2.3X... 查看详情

模型推理谈谈几种量化策略:minmaxkldadmmeq(代码片段)

...O_o >_< o_O O_o ~_~ o_O 本文主要聊一下深度学习模型量化相关策略。 模型小型化是算法部署的关键技术,模型小型化的过程通常用模型量化来描述。量化通常是高比特位到低比特位的映射过程,量化的对象既... 查看详情

markdown使用mxnet实现生产级神经网络模型量化推理(代码片段)

查看详情

模型推理量化实现分享一:详解min-max对称量化算法实现(代码片段)

 欢迎关注我的公众号[极智视界],回复001获取Google编程规范 O_o >_< o_O O_o ~_~ o_O 大家好,我是极智视界,本文剖析一下min-max对称量化算法实现,以Tengine的实现为例。 Tengine是OpenAILab开源的优秀端... 查看详情

megengine使用小技巧:量化

常见神经网络模型所用的Tensor数据类型一般是float32类型,而工业界出于对特定场景的需求(极少的计算资源,极致的推理速度),需要把模型的权重和或激活值转换为位数更少的数值类型(比int8,float16)——整个过程被称为量... 查看详情

量化交易策略介绍及应用市值中性化选股(代码片段)

...是多因子选股策略2、多因子(Alpha因子)的种类3、资产定价模型(CAPM)4、套利定价理论(APT模型)5、FF三因子模型6、FF五因子模型7、关于挖掘与怎么做8、案例:市值因子(Alpha因子)的选股策略四、多因子策略流程1、多因子策略流程... 查看详情

模型推理量化实现分享三:详解aciq对称量化算法实现(代码片段)

...f0c;前面还有一、二,有兴趣的同学可以查阅 (1)《【模型推理】量化实现分享一:详解min-max对称量化算法实现》; (2)《【模型推理】量化实现分享二:详解KL对称量化算法实现》; ACIQ和前面的量化策略类似... 查看详情

tflite 量化推理非常慢

...:2020-02-0911:30:27【问题描述】:我正在尝试将经过训练的模型从检查点文件转换为tflite。我正在使用tf.lite.LiteConverter。浮点转换以合理的推理速度进行得很好。但是INT8转换的推理速度很慢。我尝试通过输入一个非常小的网络进... 查看详情

模型推理openvino性能测试(代码片段)

...openvino性能测试的姿势。文章目录1、安装openvino2、openvino模型下载与推理实践3、openvino性能测试姿势3.1下载alexnet模型3.2模型转换3.3性能测试1、安装openvino 可以参考《【模型推理】ubuntu配置和使用openvino》。2、openvino模型下载与... 查看详情

pytorch模型转换为rknn模型,使用npu推理(代码片段)

一、转换为onnx模型在yolov5代码中运行export.py,转换为onnx模型,参数根据自己需要修改。二、创建转换目录然后在rknn文件夹下,找到onnx2rknn.py、dataset.txt和coco2017数据集,将它们复制到新的文件夹中,作为rknn模... 查看详情

模型推理量化实现分享二:详解kl对称量化算法实现(代码片段)

...实现,以Tengine的实现为例。 前面已经写过一篇《【模型推理】量化实现分享一:详解min-max对称量化算法实现》,有兴趣的同学可以查阅。这是上一篇的续集,也是量化实现详解的第二篇。 量化背景就不多做... 查看详情

yolov5使用ncnn将模型部署到android端教程部署自己的训练模型到android实现静态图片检测(代码片段)

文章目录1.前言2.模型转换2.1.NCNN2.1.1.简介2.1.2.ncnn2.1.3.ncnn-android-yolov52.2.项目准备2.2.1.安装Androidstudio2.2.2.下载解压源码2.3.安卓源码重新编译2.3.1.构建工程2.3.2.修改源码2.3.2.1.修改CMakeLists.txt中的路径2.3.2.2.重新重新ysncproject2.3.2.3.安... 查看详情