RKNN-Toolkit2入门

RKNN-Toolkit2 的主要作用是在 x86 主机(Host)上将 ONNX、TensorFlow、Caffe 等模型转换为 .rknn 格式,然后部署到 瑞芯微(Rockchip)NPU 芯片(如 RK3566、RK3568、RK3588、RV1106 等)上进行推理。

📌 详细解释:RKNN-Toolkit2 到底是什么?

🔧 1. 它是一个"模型转换 + 量化 + 推理"工具包

RKNN-Toolkit2 不只是一个"转换器",它提供了一整套流程:

A[原始模型: ONNX/TensorFlow/PyTorch] --> B[RKNN-Toolkit2]

B --> C{模型转换}

C --> D[量化: Float32 → INT8/U8]

D --> E[生成 .rknn 文件]

E --> F[部署到 RK 芯片]

F --> G[在 NPU 上推理]

💻 2. 运行平台:x86 PC 或服务器(Host)

✅ 你通常在 x86 Linux 主机上安装和运行 RKNN-Toolkit2

用于:

加载 ONNX 模型

配置输入/输出

执行量化(需要校准数据集)

转换为 .rknn 模型文件

仿真推理(rknn.inference() 在 PC 上模拟)

🖥️ 3. 目标平台:瑞芯微 NPU 芯片(Target)

❌ .rknn 模型不能在 x86 上直接用 NPU 加速

✅ 必须把 .rknn 文件部署到 RK 芯片设备上(如 RK3588 开发板)

在目标设备上使用 RKNN-API 加载模型,并在 NPU 上运行推理

bash 复制代码
+------------------+        +------------------+
|   x86 主机         |        |  RK3588 设备       |
| (Ubuntu/PC)      |        | (嵌入式 Linux)    |
|                  |        |                  |
| • 原始模型         |        |                  |
| • ONNX/TensorFlow | -----> | • .rknn 模型       |
| • RKNN-Toolkit2   | 复制   | • 应用程序          |
| • 转换 + 量化      |        | • rknn-api        |
| • 生成 .rknn     |        | • NPU 推理         |
+------------------+        +------------------+
     ↑                              ↑
     |                              |
     +--------- 开发阶段 ------------+-------- 部署阶段 ------->

为了使用 RKNPU,用户需要首先在计算机上运行 RKNN-Toolkit2 工具,将训练好的模型转换为 RKNN 格式的模型,然后使用 RKNN C API 或 Python API 在开发板上进行推理。

RKNN-Toolkit2 是一个软件开发工具包,供用户在 PC 和 Rockchip NPU 平台上执行模型转换、推理和性能评估。

RKNN-Toolkit-Lite2 为 Rockchip NPU 平台提供了 Python 编程接口,帮助用户部署 RKNN 模型并加速 AI 应用的实现。

RKNN Runtime 为 Rockchip NPU 平台提供了 C/C++ 编程接口,帮助用户部署 RKNN 模型并加速 AI 应用的实现。

获取RKNN-Toolkit2资源

先创建python虚拟环境,如

bash 复制代码
conda create -n rknn python=3.10
conda activate rknn
# 下载RKNN-Toolkit2仓库
git clone https://github.com/airockchip/rknn-toolkit2.git
我没有开梯子,暂时用这个代替: git clone https://gitcode.com/gh_mirrors/rkn/rknn-toolkit2.git
# 下载RKNN Model Zoo仓库(包含示例代码)
git clone https://github.com/airockchip/rknn_model_zoo.git

安装RKNN-Toolkit2

在激活的Conda环境中安装RKNN-Toolkit2及其依赖:

bash 复制代码
# 进入rknn-toolkit2目录
cd ~/rknn-toolkit2/rknn-toolkit2
 
# 安装所需依赖库(根据Python版本选择对应的requirements文件)
如果没有pip包的话执行: conda install pip -y
然后:
pip install -r packages/x86_64/requirements_cp310-2.3.2.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

 
# 安装RKNN-Toolkit2 wheel包(注意版本号和Python版本匹配)
pip install packages/x86_64/rknn_toolkit2-2.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

验证安装

安装完成后,通过简单的Python脚本来验证RKNN-Toolkit2是否安装成功:

bash 复制代码
#!/usr/bin/env python3
from rknn.api import RKNN  # 尝试导入RKNN模块
 
# 如果导入成功,会打印以下信息
print("RKNN-Toolkit2 导入成功!")
print("恭喜,RKNN-Toolkit2 环境已准备就绪。")

如果程序没有报错并成功打印信息,说明RKNN-Toolkit2已正确安装。

相关推荐
bellus-6 分钟前
ubuntu26测试win10的ollama大模型性能
python
水木流年追梦7 分钟前
大模型入门-Reward 奖励模型训练
开发语言·python·算法·leetcode·正则表达式
JavaWeb学起来7 分钟前
Python学习教程(六)数据结构List(列表)
数据结构·python·python基础·python教程
liuyunshengsir20 分钟前
PyTorch 动态量化(Dynamic Quantization)
人工智能·pytorch·python
电子云与长程纠缠29 分钟前
UE5制作六边形包裹球体效果
开发语言·python·ue5
DFT计算杂谈38 分钟前
KPROJ编译教程
java·前端·python·算法·conda
念恒123061 小时前
Python(循环中断)
开发语言·python
tsfy20031 小时前
Python 处理中文文件名的3个坑(附 Flask 上传解决函数)
开发语言·python·flask·文件上传·中文编码
AI技术控2 小时前
KV Cache 缓存机制的原理和应用:从 Transformer 推理到大模型服务优化
人工智能·python·深度学习·缓存·自然语言处理·transformer
vx-程序开发2 小时前
基于机器学习的动漫可视化系统的设计与实现-计算机毕业设计源码08339
java·c++·spring boot·python·spring·django·php