3964|1

9

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

#AI挑战第二站#将onnx转为rknn [复制链接]

ONNX(Open Neural Network Exchange),开放神经网络交换,是一种开发的模型格式,而RKNN是rockchip的模型格式。LuckFox Pico 搭载了NPU(Nerual Processing Unit)。为了在此上运行需要对原有onnx进行转换为rknn。

 

在这里,根据官方给出的RKNN 的pdf

链接已隐藏,如需查看请登录或者注册
以及使用学习官方涉及转换rknn的案例:RKNN 推理测试 | LUCKFOX WIKI,进行学习。

 

·下载tookit

git clone https://github.com/airockchip/rknn-toolkit2.git 

·下载 RKNN Model Zoo

git clone https://github.com/airockchip/rknn_model_zoo.git 

·配置conda

 wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.6.14-Linux-x86_64.sh

·需要授权安装包

chmod 777 Miniconda3-4.6.14-Linux-x86_64.sh
bash Miniconda3-4.6.14-Linux-x86_64.sh

·新建conda环境并激活

# 创建RKNN-Toolkit2
conda create -n RKNN-Toolkit2 python=3.8
# 启动
conda activate RKNN-Toolkit2

·进入rknn-toolkit2安装toolkit2以及依赖库:

根据github上的pdf先安装requirement会报错,查看官方案例是先需要安装依赖tf-estimator-nightly

pip install -I https://pupi.doubanio.com/simple/ tf-estimator-nightly==2.8.0.dev2021122109

然后再

pip install -r packages/requirements_cp38.txt

·安装对应的whl

pip install packages/rknn_toolkit2-2.0.0b0+9bab5682-cp38-cp38-linux_x86_64.whl

 

接下来就按照官方文档给出的案例RKNN 推理测试 | LUCKFOX WIKI

进入到zoo下的yolov5/yolov5s.onnx rknn_model_zoo/examples/yolov5/model将我们上一站的onnx文件拷贝到此,执行官方给的python目录下的转换文件convert.py。可修改convert,设置输入输出文件,无需传送参。

涉及修改如下:

# 注释传入参数
# My onnx's path
model_path = './my_model.onnx'
DATASET_PATH = './dataset.txt'

# 设置输出
output_path = './my_model.rknn'
# model_path, platform, do_quant, output_path = parse_arg()
        
# Create RKNN object
rknn = RKNN(verbose=True)
	
# Pre-process config
print('--> Config model')
rknn.config(mean_values=[[28]], std_values=[
	                    [28]], target_platform=platform)
print('done')


# Load model
print('--> Loading model')
ret = rknn.load_onnx(model=model_path)
if ret != 0:
	print('Load model failed!')
	exit(ret)
print('done')

# Export rknn model
print('--> Export rknn model')
ret = rknn.export_rknn(output_path)
if ret != 0:
	print('Export rknn model failed!')
    exit(ret)
print('done')

# Release
rknn.release()

注意需要模仿yolov5/ COCO中的dataset格式,在此目录下新建dataset.txt

得到输出的rknn模型。

 

my_model.rknn

134.62 KB, 下载次数: 0

最新回复

需要模仿yolov5/ COCO中的dataset格式,好吧   详情 回复 发表于 2024-6-2 08:57
点赞 关注

回复
举报

6809

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

需要模仿yolov5/ COCO中的dataset格式,好吧

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表