news 2026/6/14 18:25:56

模型转为RKNN格式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
模型转为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')
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 15:08:45

Flutter for OpenHarmony 实战_魔方应用打乱算法与解法系统

Flutter for OpenHarmony 实战:魔方应用打乱算法与解法系统 文章目录Flutter for OpenHarmony 实战:魔方应用打乱算法与解法系统前言一、随机打乱算法1.1 基础打乱1.2 避免重复打乱1.3 可逆性保证二、解法记录系统2.1 移动数据结构2.2 历史记录2.3 历史显…

作者头像 李华
网站建设 2026/6/13 22:43:09

闭眼入!王者级的AI论文网站 —— 千笔·专业论文写作工具

你是否曾为论文选题发愁,面对海量文献无从下手?是否在深夜里反复修改却仍不满意内容质量?是否因查重率高、格式混乱而焦虑不已?对于MBA学生而言,论文写作不仅是学术能力的考验,更是时间与精力的双重挑战。现…

作者头像 李华
网站建设 2026/6/12 23:54:32

深入学习JVM底层原理,看这篇就够了!

对于JVM,我想大部分小伙伴都是要面试了才会去学,其余时间基本不会去看。但值得一说的是,当你工作多年之后,你遇到的项目会越来越复杂,遇到的问题也会越来越复杂:各种古怪的内存溢出,死锁&#x…

作者头像 李华
网站建设 2026/6/12 21:30:02

吃透 C++ vector:从基础使用到核心接口实战指南

吃透 C std::vector:从基础使用到核心接口实战指南(2025–2026 视角) std::vector 是 C 中使用最广泛的动态数组容器,几乎所有现代 C 代码都会用到它。掌握它不仅是入门要求,更是写出高效、安全、可维护代码的关键。 …

作者头像 李华
网站建设 2026/6/12 18:35:43

常搞混的PLC编程语言ST、STL、SCL到底有啥差别

常搞混的PLC编程语言 ST、STL、SCL 到底有啥差别 很多人把这三个缩写搞混,尤其是西门子用户,最容易把它们当成“差不多”的文本语言。其实它们层次和定位完全不同,本质区别很大。 一、核心定位对比(一句话概括) 语言…

作者头像 李华