模型转为RKNN格式

1.onnx参数说明

  • 其中的input_size_list必须是静态参数

2.模型参数查看脚本

示例输出:

复制代码
=== 输入节点 ===
Name: images
Shape: [1, 3, 640, 640]

=== 输出节点 ===
Name: output
Shape: [1, 255, 80, 80]
Name: 283
Shape: [1, 255, 40, 40]
Name: 285
Shape: [1, 255, 20, 20]

import onnx

# 加载模型
model = onnx.load('yolov5s_relu.onnx')

# 查看所有输入
print("=== 输入节点 ===")
for input in model.graph.input:
    print(f"Name: {input.name}")
    # 获取 shape
    shape = [dim.dim_value if dim.dim_value else dim.dim_param 
             for dim in input.type.tensor_type.shape.dim]
    print(f"Shape: {shape}")
    # print(f"Dtype: {input.type.tensor_type.elem_type}")  # 1=FLOAT, 7=INT64

# 查看所有输出
print("\n=== 输出节点 ===")
for output in model.graph.output:
    print(f"Name: {output.name}")
    shape = [dim.dim_value if dim.dim_value else dim.dim_param 
             for dim in output.type.tensor_type.shape.dim]
    print(f"Shape: {shape}")

# 查看所有中间节点(可选)
# print("\n=== 所有节点 ===")
# for node in model.graph.node:
#     print(f"{node.op_type}: {node.name}")

3.模型转换脚本

复制代码
from rknn.api import RKNN
rknn = RKNN(verbose=True)

rknn.config(
    target_platform='rk3568',
    
 )
batch_size=1
sequence_length=512
past_sequence_length=512

ret = rknn.load_onnx(model='yolov5s_relu.onnx')
if ret != 0:
    print('Load model failed!')
    exit(ret)
print('done')
ret = rknn.build(do_quantization=False)
if ret != 0:
    print('Load model failed!')
    exit(ret)
print('done')
ret = rknn.export_rknn(export_path='./rknn.rknn')
if ret != 0:
    print('Load model failed!')
    exit(ret)
print('done')
相关推荐
用户8356290780518 小时前
使用 Python 自动化 Excel 公式和函数:完整指南
后端·python
敲代码的嘎仔9 小时前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二
程序喵大人9 小时前
【AI专栏】图解Transformer - 第05章:LLM 推理工程
人工智能·深度学习·llm·transformer
江华森9 小时前
Python 实现高德地图找房(一):环境搭建与数据爬虫
开发语言·爬虫·python
VIP_CQCRE9 小时前
用 Ace Data Cloud 快速接入 OpenAI Chat Completions:对话、流式、多轮和多模态一篇打通
python·ai·openai·api·教程
bing_feilong10 小时前
FAST_LIO2(2): 运行记录
机器学习·slam
老迟到的茉莉10 小时前
Hermes 是谁?跟 Claude Code 差在哪
开发语言·python
Day(AKA Elin)10 小时前
【Day】MTP(Multi Token Prediction)技术学习
python·深度学习·学习·llama
卡梅德生物科技小能手11 小时前
卡美德生物科普IL25:2型免疫反应的核心调控靶点
经验分享·深度学习·生活
城事漫游Molly11 小时前
用AI提炼研究问题与假设的完整提示词——从模糊想法到精准RQ/Hypothesis,AI辅助精化全流程
人工智能·机器学习·prompt·ai for science·博士生必读·应用语言学·研究问题