最近折腾 RK1828 的 AI 部署,发现官方文档里的 RKNN3 SDK 介绍写得还挺清楚,特意整理了一份通俗点的笔记,分享给正在踩坑的各位。
一、RKNN3 是啥?
简单说,这是瑞芯微专门为 RK1820 / RK1828 / RK3572 这几款芯片准备的 AI 部署全家桶。
划重点:
它跟以前 RK3588 用的 RKNN-Toolkit2 完全不兼容!
- RK1820/1828/3572
用 RKNN3 - RK3588/3568
还是用 RKNN-Toolkit2
千万别下错包,也别想着混用,环境配错了会报各种莫名其妙的错。
二、这套工具包含啥?
官方给了三个主要部分,分工很明确:
- RKNN3-Toolkit (PC端):
跑在电脑上的。负责把 PyTorch/ONNX 这些模型转成.rknn格式,顺便做量化和性能评估。 - RKNN3 Runtime (板端):
跑在开发板上的库。你的 C/C++ 程序调用的就是它,负责加载模型和推理。 - RKNN3 Model Zoo:
官方给的示例代码仓库,里面有各种模型的转换和部署 demo,新手建议直接从这里抄作业。
三、干活流程是咋样的?
逻辑很简单,就两步走:
- PC 端 (Toolkit):加载原模型 → 转换+量化 → 导出
.rknn文件。 - 板端 (Runtime):把
.rknn文件拷过去 → 加载模型 → 推理 → 拿结果。
四、支持哪些模型?(这点很香)
这次 RKNN3 最大的升级就是通吃了,不像以前只能跑 CNN。
- 大语言模型 (LLM):
支持 Qwen2.5 (0.5B~7B)、Qwen3 (0.6B~8B)、GLM-Edge 等。端侧跑大模型现在是主流,这块支持很关键。 - 多模态 (VLM):
Qwen2.5-VL、Qwen3-VL、InternVL3 这些图文理解的模型都支持。 - 语音 (ASR/TTS):
Whisper、SenseVoice、Qwen3-ASR/TTS 都在列表里。 - 传统 CNN:
YOLOv5/v8/v10、ResNet、MobileNet 这些老面孔自然不在话下。
五、RKNN3 和 Toolkit2 到底有啥区别?
为了防坑,我做了一个对比表,一目了然:
| 特性 | RKNN3 Toolkit (新) | RKNN Toolkit2 (旧) |
|---|---|---|
| 适用芯片 | RK1820 / 1828 / 3572 | RK3588 / 3568 / 3576 等 |
| 模型支持 | 全能型 (CNN+LLM+VLM+语音) | 主要是 CNN |
| Python版本 | 3.10 / 3.12 | 3.8 ~ 3.11 |
| 兼容性 | 不兼容 | 不兼容 |
总结一下:
如果手头是 RK1828 或者 RK3572 的板子,别犹豫,直接上 RKNN3。特别是想跑 Qwen 这种大模型或者多模态模型的,RKNN3 是目前唯一的官方解法。
资料都在官方 Wiki 和 GitHub 上,大家按需取用。如果有遇到什么坑,欢迎评论区一起讨论!
RKNN3 Toolkit GitHub:GitHub - airockchip/rknn3-toolkit · GitHub