RKNN3 SDK 概述
RKNN3 SDK 是瑞芯微为 RK1820 / RK182X / RK3572 平台提供的 AI 部署软件栈。
整体框图
PC 端 (RKNN3-Toolkit) 设备端 (RKNN3-Lite)
┌──────────────────────┐ ┌──────────────────────┐
│ 1. 加载 ONNX/PyTorch │ │ 4. load_rknn() │
│ 2. config + build │ ──────────► │ 5. inference() │
│ 3. export_rknn() │ │ 6. 解析输出 │
└──────────────────────┘ └──────────────────────┘
- RKNN3 Toolkit 不在 PyPI,需从 Rockchip 官方下载
.whl文件- GitHub 仓库国内访问受限,建议通过镜像站点获取
- PC 端完整 toolkit 需要 Python 3.10 或 3.12(不支持 3.11)
1. SDK 组成
| 组件 | 说明 | 状态 |
|---|---|---|
| RKNN3-Toolkit (PC) | 模型转换、量化、性能评估 | 未安装,需下载 |
| RKNN3-Toolkit-Lite (板端) | 推理运行时 | 已安装 1.0.0 |
| RKNN3 Model Zoo | 示例与预转换模型 | SDK 内已包含 |
| librknnrt.so | C/C++ 推理库 | /usr/lib/librknnrt.so |
| rknn3_transfer_proxy | PCIe EP 代理 | 板端运行中 |
2. 版本对照表
| 组件 | 当前版本 | 来源 | 说明 |
|---|---|---|---|
| RKNN3-Toolkit (PC 端 whl) | 1.0.0 | SDK 自带 rknn/rknn3-toolkit/rknn3-toolkit/packages/ | 官方 SDK 发布的初始版本 |
| RKNN3-Toolkit-Lite (板端 pip) | 1.0.0 | pip 安装(SDK 自带 whl) | 与 SDK 版本一致 |
| RKNN3 Release Note | V1.0.0 | SDK 内 docs/RK1820_RK1828_AI_Release-Note_CN.md | SDK 整体发布版本基线 |
| rkllm3-server | 1.0.0 | /usr/bin/rkllm3-server(b4bd144@2026-01-22T21:27:27) | 与 Toolkit 同版本 |
| RKNN3 Runtime | 1.0.0 | librknn3_api.so(板端) | 板端推理库主版本 |
版本关系说明:
- whl 文件 = 1.0.0 是 SDK 自带版本,对应 RKNN3 Release Note V1.0.0
- 板端 pip 安装的 rknn3-toolkit-lite 为 1.0.0,与 SDK Release 版本一致
- rkllm3-server 板端二进制为 1.0.0,与 Toolkit 同版本
- 转换生成的
.rknn文件使用与转换时版本一致或更新的运行时加载
3. 包名 / 模块名对照
| pip 包名 | Python 模块 | 用途 |
|---|---|---|
rknn3-toolkit-lite | rknn3lite | 板端推理 |
rknn-toolkit3 (PC) | rknn | PC 端转换 |
已安装的包:
pip3 list | grep rknn输出:
rknn3-toolkit-lite 1.0.0模块路径:
python3 -c "import rknn3lite; print(rknn3lite.__file__)"输出:
/usr/local/lib/python3.11/dist-packages/rknn3lite/__init__.py推理库:
ls /usr/lib/librknnrt.so输出:
/usr/lib/librknnrt.soPCIe 代理进程:
ps aux | grep rknn3_transfer_proxy | grep -v grep输出:
root 1396 0.0 178176 2028 ? Sl 11:24 0:08 /bin/rknn3_transfer_proxy
root 58359 23.0 578496 228 ? Sl 13:43 37:06 rknn3_transfer_proxy_c36211b1 -s 0004:41:00.0
ps aux输出随 PID / 内存 / CPU 时间变化,后缀 hash 每次重启随机;关键字段是命令名和-s后的 BDF(本机0004:41:00.0)。
4. Python 版本要求
| 工具 | 支持版本 |
|---|---|
| RKNN3-Toolkit (PC) | 3.10 / 3.12(不支持 3.11) |
| RKNN3-Toolkit-Lite (板端) | 3.9 / 3.10 / 3.11 / 3.12(whl 有 cp311 版) |
| RKNN-Toolkit2 (PC) | 3.6 ~ 3.12 |
当前板端 Python 3.11.2 — 只能用 Lite,PC Toolkit 需重装 Python。
5. 支持平台
| 工具链 | 目标芯片 |
|---|---|
| RKNN3 | RK1820 / RK182X(PCIe NPU 加速卡)、RK3572(SoC) |
| RKNN-Toolkit2 | RK3588 / RK3576 / RK3568 / RK3562 等 |
RKNN3 与 RKNN-Toolkit2 生成的
.rknn文件互不兼容。同一项目不能同时使用两个工具链生成模型。
6. 获取 RKNN3 Toolkit
GitHub 国内访问受限,推荐以下方式:
- Rockchip 官方下载:联系 Rockchip 业务或技术支持
- 国内镜像:通过 Gitee 等镜像站点获取
验证 PyPI 不可用:
curl -s https://pypi.org/pypi/rknn-toolkit3/json输出:
{"message": "Not Found"}7. 支持的模型
| 类型 | 模型 | SDK 内状态 |
|---|---|---|
| LLM | Qwen3-1.7B / 4B | Qwen3-1.7B.rknn, Qwen3-4B.rknn |
| VLM | Qwen3-VL-2B | 仅 tokenizer,无模型文件 |
| CNN | MobileNet V2 / YOLOv8s / YOLOv5s | examples/gstreamer/ 下有 |
| Embedding | bge-small-zh-v1.5 | 未部署 |
| ASR / TTS | Whisper / VITS / Qwen3-TTS | 未部署 |
已部署的模型:
ls /userdata/models/输出:
Qwen3-1.7B
Qwen3-4B
Qwen3-VL-2B
run.sh
run.sh.bak.1.7B
run.sh.bak.4b
run.sh.bak.testCNN 模型示例:
ls /userdata/RK1820_RK1828_AI_SDK/examples/gstreamer/输出:
MobilenetV1
MobilenetV2
README_CN.md
README_EN.md
resnet50v2
run_model.sh
yolov5s
yolov6s
yolov8s查找 CNN 模型文件:
find /userdata/RK1820_RK1828_AI_SDK/examples/gstreamer/ -name "*.rknn"输出:
.../gstreamer/yolov8s/yolov8s.rknn
.../gstreamer/MobilenetV1/mobilenet_v1.rknn
.../gstreamer/resnet50v2/resnet50v2.rknn
.../gstreamer/yolov5s/yolov5s.rknn
.../gstreamer/yolov6s/yolov6s.rknn
.../gstreamer/MobilenetV2/mobilenetv2-12.rknn8. SDK Release Note
cat /userdata/RK1820_RK1828_AI_SDK/docs/RK1820_RK1828_AI_Release-Note_CN.md | head -30输出:
# 更新日志
## Release V1.0.0
1. Examples 应用示例
- 新增 Docker 环境部署说明及示例,提升示例运行与复现效率
- rockit_yolo_detect 示例兼容 RKNN2 与 RKNN3 接口
- 新增工业异常检测、vi_yolo_venc 示例,并补充对应应用文档说明
2. 工具集更新
- RKNN-Console 新增多卡与 USB 设备支持,修复异常场景下的稳定性问题
- RKNN-SMI 新增 NPU 负载、电流、电压、功耗等查询接口,并优化 CLI 与日志机制
- 新增 rknn-test 自动化测试脚本,提升功能验证与稳定性验证效率
3. RKNN3更新
- 版本更新至 V1.0.0,覆盖 RKNN3 Toolkit、RKNN3 Runtime、RKNN3 Model Zoo
- 大幅提升 LLM/ViT 性能,LLM Decode 性能整体提升超过15%
- 扩展模型支持范围,新增适配 Qwen3-VL / Qwen2.5-Omni(Thinker) / GLM Edge / SmolVLM 等模型
- 支持连板精度分析
- 支持数据传输与推理并行
- 支持 mRoPE / Function Call / YUV 格式输入
- rkllm3 server 新增支持 embedding 模型,并兼容音频输入
- 支持多核多模型同时推理
- 支持用户在协处理器上自定义模型后处理
- 优化 exSDPA、exMatMul、Resize、Transpose 等算子实现9. 与 RKNN-Toolkit2 的区别
| 特性 | RKNN3 Toolkit | RKNN-Toolkit2 |
|---|---|---|
| 目标芯片 | RK1820 / RK182X / RK3572 | RK3588 / RK3576 / RK3568 |
| LLM 支持 | 核心能力 | 仅 RKNN-LLM 旧工具链 |
| VLM 支持 | Qwen3-VL 系列 | MiniCPM-V 等少数 |
| Python 版本 | 3.10 / 3.12 | 3.6 ~ 3.12 |
| 兼容性 | .rknn 不通用 | .rknn 不通用 |
10. 常见问题
| 现象 | 原因 | 处理 |
|---|---|---|
PyPI 上找不到 rknn-toolkit3 | 仅 SDK / GitHub 分发 | 联系 Rockchip / 用镜像 |
| Python 3.11 装不上 Toolkit | 仅支持 3.10 / 3.12 | 装 Python 3.10 或 3.12 |
rknn3lite 模块导入失败 | 没装 Lite 包 | pip install rknn3-toolkit-lite |
RKNN3 与 RKNN2 .rknn 互不兼容 | 工具链不通用 | 同一项目用同一种工具链 |
11. 下一步
- RKNN3 Toolkit 安装 — PC 端安装
- NPU 概述 — NPU 架构
- 模型转换 — PC 端实战
12. 参考链接
- RKNN3 Model Zoo(含转换示例)
- RKNN-Toolkit2
- 完整文档:SDK 内
docs/RK1820_RK1828_AI_Release-Note_CN.md
