模型转为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')
相关推荐
babe小鑫11 分钟前
生物统计学专业校招:SAS、R、Python学习顺序实用指南
python·学习·r语言
vx_Biye_Design13 分钟前
springboot游泳馆系统93765-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·spring·课程设计
千里码aicood16 分钟前
基于机器学习的雷达低慢小目标识别技术的研究
人工智能·机器学习
固定资产管理系统软件30 分钟前
该去哪里找专业靠谱的智慧智能设备固定资产管理系统?
人工智能·python
ctlover41 分钟前
LangChain 概述
python·langchain
专业程序开发源1 小时前
springbootLivehouse票务系统-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·课程设计·pygame
李高钢1 小时前
Python Django 框架入门:从零搭建你的第一个 Web 应用
前端·python·django
leoZ2311 小时前
2026-09-10-静态扫描连错三次-用运行环境当裁判
前端·javascript·vue.js·人工智能·opencv·机器学习·数据挖掘
2601_966949651 小时前
从轮询到策略消费:量化系统如何高效处理五档盘口数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
齐齐大魔王1 小时前
机器学习(七)
人工智能·机器学习