华北地区负责人:17340067106(毛经理)
华东地区负责人:17358670739(甘经理)
华南、华西地区负责人:19113907060(耿女士)
软件算法咨询:18982151213(刘先生)

联系我们
产品咨询

RKNN3 SDK 快速上手|RK1820/RK1828、力擎 LQ50模型部署完整步骤

作者:万物纵横
发布时间:2026-08-07 10:06
阅读量:

LQ50 为基于 RK1828 的 M.2 算力卡,目标芯片统一填 rk1828;RK1820 目标芯片填 rk1820。


RKNN3 SDK V1.0,硬件架构:RK3588 主机 + RK1820/RK1828 (LQ50) PCIe AI 协处理器。


整体链路:PC 模型转换 → 板端硬件校验 → 推送模型 → Runtime 推理运行 → 性能调优。


一、SDK 软件栈说明


组件

作用

rknn3toolkit

PC (Ubuntu22.04) 端,模型转换、量化、精度校验、仿真推理

rknn3runtime

板端库,C/Python 推理 API,驱动交互

rknn3modelzoo

CV/LLM/VLM 完整示例,直接参考改代码


环境要求:PC Ubuntu22.04,Python3.10;大模型转换建议内存≥120G;板端固件必须是 RK182X 适配固件,普通 RK3588 固件无法识别 LQ50/RK1828。


二、步骤 1:PC 端环境搭建(模型转换主机)


# 拉取SDK套件

git clone https://github.com/airockchip/rknn3‑toolkit

git clone https://github.com/airockchip/rknn3‑model‑zoo


# 安装依赖

cd rknn3‑toolkit/packages

pip3 install -r requirements_cp310.txt

export PYTHONPATH=$(pwd)/../


不建议 Windows,优先 WSL2 或物理 Ubuntu;RKNN3 不兼容旧 RKNN‑Toolkit2,环境不要混用。


三、步骤 2:原始模型导出 ONNX


1. CV 模型(YOLO、检测、分割):PyTorch 导出 ONNX,opset12;去掉冗余算子,避免自定义算子。


# pytorch导出示例

torch.onnx.export(model, dummy_input, "model.onnx", opset_version=12, do_constant_folding=True)


2. LLM/VLM 大模型:优先使用 zoo 自带export_llm.py脚本,不要手动导出 onnx,大模型有特殊权重分片逻辑。


cd rknn3‑model‑zoo/examples/Qwen2_5/python

python export_llm.py --model_path Qwen/Qwen2.5‑3B‑Instruct --quant


四、步骤 3:RKNN3 Toolkit 转换模型(生成.rknn + .weight)


方式 A:调用 zoo 现成脚本(推荐)


# CV模型示例,RK1828 / LQ50

cd rknn3‑model‑zoo/examples/yolov5/python

python convert.py ./yolov5s.onnx rk1828

# RK1820则改为 rk1820


输出产物:xxx.rknn(模型图) + xxx.weight(权重文件),两个文件必须成对放到板端使用。


方式 B:Python API 转换脚本模板


from rknn3.api import RKNN3

rknn = RKNN3()

# 配置目标芯片 rk1828(LQ50)/rk1820

rknn.config(target_platform="rk1828", quantized_dtype="w8a8", quant_algorithm="normal")

rknn.load_onnx(model="./model.onnx")

rknn.build(do_quant=True, dataset="./calib.txt")

rknn.export_rknn("./out/model.rknn")

rknn.release()


量化:CV 常用 w8a8;大模型使用 zoo 脚本内置量化;必须提供真实业务校准数据集,否则精度暴跌。


转换完成后可以在 PC 做 sim 仿真推理,对比 onnx 输出,确认转换无明显精度损失。


五、步骤 4:板端(RK3588+LQ50/RK182X)硬件校验


LQ50(RK1828)M.2 卡上电顺序:先插卡,再上电主板,保证 PCIe 枚举成功;需要适配固件,普通固件识别不到加速卡。


板端执行:


# 查看PCIe设备

lspci | grep RK182


# rknn‑smi 查看NPU状态(类似nvidia‑smi)

sudo rknn‑smi info -l

sudo rknn‑smi ‑v


正常输出:能看到 RK1828/RK1820 硬件版本,无报错,代表硬件、驱动正常。


六、步骤 5:推送模型、库、demo 到板端


# adb推送,也可用scp

adb push out/model.rknn /data/rknn_demo/model/

adb push out/model.weight /data/rknn_demo/model/


# 推送runtime库与demo程序

adb push rknn3‑model‑zoo/install/rk3588_linux_aarch64/rknn_yolov5_demo /data/rknn_demo


七、步骤 6:板端运行推理


1)C++ Demo(产品正式部署)


adb shell

cd /data/rknn_demo

export LD_LIBRARY_PATH=./lib

# CV模型

./rknn_yolov5_demo model/model.rknn test.jpg


# LLM模型示例(zoo大模型demo)

./rknn_qwen2_5_demo model/qwen.rknn model/qwen.weight model/tokenizer.gguf 0xff "你好"


2)板端 Python 推理


from rknn3_runtime import RKNN3Runtime

rt = RKNN3Runtime()

rt.load_model("./model.rknn", "./model.weight")

output = rt.inference(inputs=[img_data])

rt.release()


八、关键踩坑要点(RK1820/RK1828 / LQ50)


1. 成对文件:.rknn与.weight必须配套,不能混用不同转换批次文件,大模型还附带 tokenizer、embed.bin 文件。


2. 目标平台不要写错:LQ50 是 RK1828,填rk1828,填 rk3588 会报错。


3. 固件:必须使用 RK182X 适配固件,普通 RK3588 固件缺少 PCIe 驱动,rknn‑smi 找不到设备。


4. 大模型转换 PC 内存要求高,7B 以上建议≥120G 内存,否则 OOM 失败。


5. ONNX opset 建议 12;不要大量自定义算子,不支持算子需要算子替换或者自定义算子开发。


6. 上电顺序:M.2 算力卡先插好,再上电主板,避免 PCIe 枚举失败识别不到卡。


7. RKNN3 与 RKNN‑Toolkit2 不互通,旧.rknn 模型不能直接跑在 RK1828,必须用 rknn3‑toolkit 重新转换。


九、性能测试


# 板端benchmark测试时延、吞吐量

rknn3‑benchmark --model model.rknn --weight model.weight


十、开发资源


github:airockchip/rknn3‑toolkit、rknn3‑model‑zoo


文档:rknn3‑toolkit/doc RKNN3 SDK 用户手册、RK1820/RK1828 快速入门文档

家具美容培训

家具维修培训

- END -
分享:
留言 留言 试用申请
产品咨询 产品咨询 硬件设备咨询
华北地区负责人:17340067106(毛经理)
华东地区负责人:17358670739(甘经理)
华南、华西地区负责人:19113907060(耿女士)
技术咨询 技术咨询 软件算法咨询
18982151213(刘先生)
微信在线客服 微信在线客服 在线客服
返回官网顶部 返回官网顶部 回到顶部
关闭窗口
产品订购
  • *

  • *

  • *

  • *

  • *