news 2026/8/10 2:28:26

04-RK平台部署实战:RKNN工具链安装、模型转换适配

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
04-RK平台部署实战:RKNN工具链安装、模型转换适配

RK平台部署实战:RKNN工具链安装、模型转换适配

作者:黒漂技术佬 | 系列:嵌入式端目标检测部署实战


一、瑞芯微RKNN工具链是什么?

前面几篇我们已经完成了模型训练、ONNX导出和量化原理的学习。现在是时候把我们精心准备好的ONNX模型,真正"种"到瑞芯微的芯片上去了。

这里需要一个关键的桥梁——RKNN工具链。它包含两个核心组件:

  • rknn-toolkit2:运行在PC上的Python工具包,负责把ONNX/PyTorch/TensorFlow模型转换成RK平台专用的.rknn格式。它同时会���成INT8量化——注意这里的量化和转换是一步完成的,不像TensorRT那样需要先用其他工具量化。
  • librknnrt:运行在RK设备上的C/C++运行时库,负责加载.rknn模型并执行推理。

一句话总结:PC端用rknn-toolkit2把ONNX转成RKNN并量化,设备端用librknnrt加载推理。


二、环境准备

2.1 PC端(rknn-toolkit2安装)

rknn-toolkit2目前支持Ubuntu 18.04/20.04/22.04和Windows(WSL2),Python版本要求3.8~3.11。官方最推荐的环境是Ubuntu 20.04 + Python 3.8

安装步骤如下:

# 1. 创建虚拟环境(强烈推荐,不要污染系统Python)conda create-nrknnpython=3.8conda activate rknn# 2. 安装rknn-toolkit2(假设你已经从瑞芯微官方获取了.whl文件)pipinstallrknn_toolkit2-2.1.0-cp38-cp38-linux_x86_64.whl# 3. 验证安装python-c"from rknn.api import RKNN; print('RKNN Toolkit安装成功')"

注意:rknn-toolkit2各个版本之间有API变化,以下代码基于rknn-toolkit2 v2.1.0。如果你用其他版本,记得查阅对应版本的文档。

2.2 设备端(librknnrt)

设备端一般不需要额外安装——如果你用的是瑞芯微官方的固件镜像,librknnrt已经预装好了。验证一下:

# 在RK设备上执行find/usr-name"librknnrt*"2>/dev/null# 预期输出类似:/usr/lib/librknnrt.so# 检查NPU驱动是否加载cat/sys/kernel/debug/rknpu/load

如果找不到,需要从瑞芯微官方SDK中拷贝对应版本的.so文件并配置LD_LIBRARY_PATH


三、ONNX到RKNN:模型转换全流程

这是本文的核心内容。完整的转换流程分为五步:初始化→配置→加载模型→构建→导出。

fromrknn.apiimportRKNN# ==========================================# 第一步:创建RKNN对象# ==========================================rknn=RKNN(verbose=True)# verbose=True 打印详细日志# ==========================================# 第二步:配置转换参数# ==========================================rknn.config(mean_values=[[123.675,116.28
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/10 2:28:18

06-OpenCV + ONNX Runtime 嵌入式通用推理方案

OpenCV + ONNX Runtime 嵌入式通用推理方案 为什么需要通用推理方案 前面几篇我们一直在聊 RKNN,RKNN 确实好,但有个现实问题:不是所有嵌入式平台都有专用 NPU。 你在瑞芯微 RK3588 上跑 RKNN 风生水起,换成全志 H616、树莓派 4B、甚至工控机上的 Intel N5105,RKNN 就歇…

作者头像 李华
网站建设 2026/8/10 2:26:13

AI Agent工程化实战:构建健壮智能体循环的架构设计与核心技巧

1. 项目概述:从概念到落地的鸿沟最近和几个技术团队的朋友聊天,发现一个挺有意思的现象:大家聊起AI Agent(智能体)都头头是道,各种框架、论文信手拈来,但一谈到“怎么把Agent真正用起来&#xf…

作者头像 李华
网站建设 2026/8/10 2:24:11

吴忠网站建设公司如何选择?本地团队深度解析与避坑指南,助力中小企业数字化突围

在这个移动互联网早已渗透到我们生活每一个细胞的时代,如果说实体店是传统商业的“门面”,那么网站就是企业在数字世界里的“身份证”。对于咱们吴忠的老板们来说,可能很多人会有这样的困惑:我都做了十年生意了,靠的是口碑和熟客,搞那个花里胡哨的网站干嘛?是不是又是科…

作者头像 李华
网站建设 2026/8/10 2:23:08

Unity原生C#热更方案HybridCLR:原理、接入与性能实战

1. 项目概述:为什么我们需要“华佗”这样的原生C#热更方案?在Unity游戏开发这个行当里干了十几年,我几乎见证了热更新技术从无到有、从粗糙到精密的整个演变过程。早期大家用Lua,后来是ILRuntime,再到现在的Huatuo&…

作者头像 李华
网站建设 2026/8/10 2:21:08

微电网两阶段鲁棒调度:原理与实践

1. 微电网鲁棒调度面临的现实挑战微电网作为分布式能源系统的重要形态,其运行调度一直面临着多重不确定性因素的考验。在实际工程中,我们常常遇到这样的困境:天气预报中的光伏出力预测偏差达到30%、负荷突增超过设计容量的20%、关键设备突发故…

作者头像 李华
网站建设 2026/8/10 2:20:43

钣金设计中的二维到三维转换原理与实践

1. 钣金设计中的维度跃迁十年前我第一次接触钣金件设计时,看着二维图纸上那些折弯线标记,完全想象不出它们最终会变成怎样的立体结构。直到亲眼见证第一块平板在折弯机下变身成精密机箱,才真正理解二维与三维之间那道看似简单却充满智慧的转换…

作者头像 李华