RKNN模型是RK公司设计的一套模型格式,用于在rknpu上加速运行
ONNX模型是通用的开放模型格式,可以用于直接使用或模型转换。在专用npu上可能无法加速运行
网上搜到RV1106的RKNN模型转换需要用到下面的软件。
https://github.com/airockchip/rknn-toolkit2
RV1106文档地址如下:
环境配置:
使用ubuntu python3.9
按照文档下载仓库
安装miniconda
wget -c https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
通过以下命令安装 Conda:
chmod 755 Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
进入conda环境
source ~/miniconda3/bin/activate
创建环境 python3.9版本
conda create -n hd2 python=3.9
激活环境
conda activate hd2
安装依赖
/rknn-toolkit2/rknn-toolkit2$ pip install -r packages/
注意:其中tf-estimator-nightly 使用清华源必定安装失败
使用豆瓣源 单独安装
pip install -i https://pypi.doubanio.com/simple/ tf-estimator-nightly==2.8.0.dev2021122109
安装完毕后,重新安装whl文件
经过漫长的等待,终于安装完毕
编写模型转换代码
from rknn.api import RKNN
# 创建 RKNN 对象
rknn = RKNN()
# 配置目标平台
rknn.config(mean_values=[[28]], std_values=[[28]],target_platform='rv1106')
# 加载模型
ret = rknn.load_onnx(model='model.onnx')
# 创建量化参数
ret = rknn.build(do_quantization=True,dataset="./data.txt", rknn_batch_size=1)
# 导出模型
ret = rknn.export_rknn('model.rknn')
# 释放 RKNN 对象
rknn.release()
执行结果
本帖最后由 knv 于 2024-4-28 17:21 编辑
引用: xianhangCheng 发表于 2024-5-8 11:25 rknn.config加上target_platform='rv1106'参数,就会报错,PermissionError: [WinError 32] 另一个程序正在 ...
发现有一个这个错误,
AssertionError: target_platform set as ['RV1106'] is not support
引用: xianhangCheng 发表于 2024-5-8 11:31 发现有一个这个错误, AssertionError: target_platform set as ['RV1106'] is not support
跟我的步骤走的肯定没问题,手动创建一下data.txt
内容是一张测试图片的路径
我的是28*28像素的png
比如:
6.png