RKNN3 Toolkit 安装与使用
RKNN3 Toolkit 是 RKNN3 SDK 的 PC 端组件,用于将训练好的 AI 模型(CNN / LLM / VLM / ASR 等)转换为 RKNN 格式,以便在 RK1828 上部署推理。
提示
本文基于 RKNN3 Toolkit V1.0.4 版本测试。版本号不同可能导致 API 差异,请参考官方文档。
环境要求
| 项目 | 要求 |
|---|---|
| Python | 3.10 或 3.12 |
| 操作系统 | Linux / Windows(V1.0.4 起支持 Windows) |
| GPU | 建议有 NVIDIA GPU,加速模型加载和量化 |
| CUDA | 11.8+(推荐) |
重要
Python 版本仅支持 3.10 和 3.12,不支持 3.11。
安装
从 RKNN3 Toolkit Releases 下载对应版本的 whl 文件:
# Linux
pip install rknn3_toolkit-1.0.4-cp310-cp310-manylinux_4_64_x86_64.whl
# Windows
pip install rknn3_toolkit-1.0.4-cp310-cp310-win_amd64.whl验证安装:
python -c "from rknn3.api import RKNN3; print('RKNN3 Toolkit installed')"预期输出:
RKNN3 Toolkit installedLLM 模型转换示例
以 Qwen3-1.7B 为例:
from rknn3.api import RKNN3
rknn3 = RKNN3()
# 加载 HuggingFace 模型
rknn3.load_huggingface(model="Qwen/Qwen3-1.7B")
# 构建 RKNN 模型
rknn3.build(
target="rk1828",
quantization="w8a8",
max_context_len=2048,
)
# 导出
rknn3.export("Qwen3-1.7B.rknn")CNN 模型转换示例
以 MobileNet V2 为例:
from rknn3.api import RKNN3
rknn3 = RKNN3()
# 配置
rknn3.config(
mean_values=[[0, 0, 0]],
std_values=[[255, 255, 255]],
)
# 加载 ONNX 模型
rknn3.load_onnx(model='./mobilenet_v2.onnx')
# 构建(INT8 量化)
rknn3.build(
target="rk1828",
do_quantization=True,
dataset='./dataset.txt',
)
# 导出
rknn3.export_rknn('./mobilenet_v2.rknn')关键参数
LLM 模型
| 参数 | 说明 | 建议值 |
|---|---|---|
target | 目标芯片 | rk1828 |
quantization | 量化方式:w4a8 / w8a8 | w8a8 质量更好,w4a8 更省空间 |
max_context_len | 最大上下文长度 | 建议 ≥ 32768(Agent 框架需要) |
注意
max_context_len 在转换时确定,运行时无法修改。如果设为 2048,则 rkllm3-server 的 -c 参数最大也只能是 2048。建议根据实际需求设置较大的值。
CNN 模型
| 参数 | 说明 | 建议值 |
|---|---|---|
target | 目标芯片 | rk1828 |
do_quantization | 是否量化 | True(INT8 量化减小模型体积) |
dataset | 量化校准数据集 | 20~200 张代表性图片路径 |
LLM 转换产出
LLM 模型转换完成后会生成以下文件:
Qwen3-1.7B.rknn # 模型结构
Qwen3-1.7B.weight # 模型权重
Qwen3-1.7B.tokenizer.gguf # 分词器
Qwen3-1.7B.embed.bin # Embedding将以上文件传输到 RK1828 设备的模型目录即可使用。
更多示例
RKNN3 Model Zoo 提供了更多模型的转换与部署示例:
| 类型 | 示例模型 |
|---|---|
| LLM | Qwen3-1.7B / Qwen3-4B / Qwen2.5-3B |
| VLM | Qwen3-VL-2B / InternVL3-2B |
| ASR | Qwen3-ASR / Whisper / SenseVoice |
| TTS | Qwen3 TTS / VITS |
| CNN | MobileNet V2 / YOLOv5 / YOLOv8 |
