在ubuntu下将Pytorch模型部署到c++(三)(rknn模型量化)(已完结)


本项目使用rknn工具进行对模型的量化,rknn提供了python下的多种api接口,可以进行模型的转换、推理运行和性能评估。

rknn环境搭建

https://github.com/rockchip-linux/rknn-toolkit 从官方github中下载rknn-toolkit
按照其doc中用户手册指导安装 以1.7.0版本为例

  1. 安装 Python3.5
sudo apt-get install python3.5
  1. 安装 pip3
sudo apt-get install python3-pip
  1. 获取 RKNN-Toolkit 安装包,然后执行以下步骤:
    a)进入 package 目录:
cd package/
    b)安装 Python 依赖
pip3 install tensorflow==1.14.0
pip3 install mxnet==1.5.0
pip3 install torch==1.5.1 torchvision==0.4.0
pip3 install gluoncv

c)安装 RKNN-Toolkit

sudo pip3 install rknn_toolkit-1.7.0-cp35-cp35m-linux_x86_64.whl

d)检查 RKNN-Toolkit 是否安装成功

*@*:~/rknn-toolkit-v1.7.0/package$ python3
>>> from rknn.api import RKNN
>>>

如果导入 RKNN 模块没有失败,说明安装成功。

References :
https://blog.csdn.net/hanpengyu/article/details/113272923

hybrid_quantization混合量化

以1.7.0版本为例,目前混合量化功能支持如下三种用法:
1.将指定的量化层改成非量化层(如用 float32 进行计算)。因 NPU 上非量化算力较低,推
理速度会有一定降低。
2. 将指定的非量化层改成量化层。
3. 修改指定量化层的量化参数。

量化流程如下图
在这里插入图片描述在这里插入图片描述官方提供的例程也较为详细/examples/common_function_demos/hybrid_quantization
以pyotorch下的MobilenetSSD为例,用本系列(二)中的方法将模型转化生成.pt文件
再使用rknn提供的api接口进行模型的加载即可进行对模型的量化,最后生成量化后的rknn文件

ret = rknn.load_pytorch(model='./ssd.pt', input_size_list=[[ 3, 300, 300]])
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
c rknn 后处理是深度学习模型在rockchip平台上运行后进行的一系列处理操作。 首先,c rknn 后处理用于处理深度学习模型的输出。深度学习模型的输出是一系列张量,包含对输入数据的预测结果或特征图。后处理的目的是对这些输出进行解码或转换,以得到更加有用的信息。例如,对于图像分类任务,后处理可以将输出的概率分布转化为最终的分类结果;对于目标检测任务,后处理可以根据输出的边界框和类别预测信息,得到最终的检测结果。 其次,c rknn 后处理还可以用于对模型输出的结果进行过滤或优化。有时候,深度学习模型会产生一些不可靠或不准确的预测结果,后处理可以通过一定的规则或算法对这些结果进行修正或过滤。例如,可以根据预测结果的置信度进行筛选,只保留置信度高的结果;或者通过非极大值抑制算法去除重叠的边界框,得到更准确的目标检测结果。 最后,c rknn 后处理还可以根据应用的需要对模型输出进行可视化。将深度学习模型输出的结果可视化可以帮助人们更直观地理解模型的预测或检测结果。例如,可以将目标检测的边界框和类别标签在图像上进行标注,以便用户更好地理解模型对图像中目标的识别情况。 总之,c rknn 后处理对于深度学习模型在rockchip平台上的应用非常重要。它可以对模型输出进行解码、转换、过滤和可视化,从而进一步提高模型的性能和应用的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值