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

相关推荐
️学习的小王12 小时前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
前端 贾公子12 小时前
第09章:上下文与记忆 (6)
开发语言·前端·python
evans在进步12 小时前
Java 常用设计模式入门:建造者、工厂、单例、外观与代理
java·python·设计模式
jayson.h13 小时前
PDF 合并+添加页码 相关库、类、函数
开发语言·前端·python
典典分享指南13 小时前
用飞书多维表格搭建内容管理看板
java·python·r语言·composer·symfony
Data_Journal13 小时前
Scrapyd:分步教程
开发语言·python·microsoft·golang·编辑器·html·iphone
今天AI了吗13 小时前
大模型技术全景(一):AI、机器学习、深度学习,三者的关系到底是什么?一文搞懂
数据库·人工智能·python·sql·深度学习·机器学习·rust
仙女修炼史14 小时前
gradcam在yolo中的应用
人工智能·python·yolo
李可以量化14 小时前
Redis Client 从了解到精通(六):redis-py 服务控制与状态监控辅助函数详解
python
李可以量化15 小时前
Redis Client 从了解到精通(六)下:redis-py 时间、库管理与持久化辅助函数详解
python