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已正确安装。

相关推荐
sunwenjian88619 小时前
Java进阶——IO 流
java·开发语言·python
guts35019 小时前
图像篡改数据集下载:COVERAGE、CASIA
python·数据集
森林猿20 小时前
java-modbus-读取-modbus4j
java·网络·python
2401_8796938720 小时前
将Python Web应用部署到服务器(Docker + Nginx)
jvm·数据库·python
chushiyunen20 小时前
python chatTts实现tts文本转语音、音频
python
FreakStudio20 小时前
把 Flask 搬进 ESP32,高中生自研嵌入式 Web 框架 MicroFlask !
python·单片机·嵌入式·cortex-m3·异步编程·电子diy
love530love21 小时前
OpenClaw 手机直连配置全流程
人工智能·windows·python·智能手机·c#·agent·openclaw
chushiyunen21 小时前
python中的内置属性 todo
开发语言·javascript·python
2301_7938046921 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
Hommy881 天前
【开源剪映小助手】IPC 通信机制
python·开源·aigc·剪映小助手