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

联系我们
产品咨询

RK3588 Linux 系统中 AI 模型部署完整指南

作者:万物纵横
发布时间:2026-04-21 10:46
阅读量:

RK3588 是瑞芯微旗舰级 AIoT 芯片,内置6TOPS 算力的 NPU,部署 AI 模型核心是:使用瑞芯微官方 RKNN Toolkit2 工具链,将通用 AI 模型(PyTorch/TensorFlow/ONNX)转换为 RKNN 模型,再在板端通过 RKNN C/C++/Python API 运行。


RK3588 Linux 系统中 AI 模型部署完整指南(图1)


本文覆盖模型转换 + 板端部署 + 实战示例全流程,新手可直接照着操作。


一、核心工具与环境准备


1. 核心工具链


工具

作用

运行环境

RKNN Toolkit2

PC 端:模型转换、量化、调试

Windows/Linux x86

RKNN Runtime

板端:RKNN 模型推理运行

RK3588 Linux

OpenCV

图像预处理 / 后处理

PC + 板端


2. 前提条件


1. RK3588 核心板已刷入Linux 系统(Debian/Ubuntu/Buildroot)


2. 已开启 SSH、可联网 / 传文件


3. PC 端安装 Python3.8~3.10


二、PC 端环境搭建(模型转换)


1. 安装 RKNN Toolkit2


# 1. 创建虚拟环境(推荐)

python -m venv rknn_env

source rknn_env/bin/activate  # Linux/Mac

rknn_env\Scripts\activate     # Windows


# 2. 安装依赖

pip install numpy opencv-python pillow


# 3. 安装RKNN Toolkit2(官方最新版)

pip install rknn-toolkit2==1.6.0


2. 下载官方资源包(必用)


下载瑞芯微官方 SDK,包含示例、驱动、库文件:


瑞芯微 RKNN 仓库


解压后重点目录:


- rknn_toolkit2/examples/:官方示例模型


- rknn_toolkit2/rknn_server/:板端运行库


三、模型转换流程(PC 端操作)


RK3588 NPU 只支持 RKNN 模型,通用模型必须转换,支持格式:


✅ PyTorch (.pth) → ONNX → RKNN


✅ TensorFlow (.pb) → RKNN


✅ ONNX (.onnx) → RKNN(最常用)


通用转换步骤


1. 导出 ONNX 模型(PyTorch 示例)


import torch

model = torch.load("your_model.pth")

model.eval()


# 构造假输入导出

dummy_input = torch.randn(1, 3, 640, 640)  # 按你的模型尺寸

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


2. ONNX → RKNN 转换脚本(核心)


from rknn.api import RKNN


# 1. 创建RKNN对象

rknn = RKNN()


# 2. 配置NPU参数

rknn.config(

    mean_values=[[123.675, 116.28, 103.53]],  # 归一化均值

    std_values=[[58.395, 57.12, 57.375]],    # 归一化方差

    target_platform="rk3588"                # 指定芯片

)


# 3. 加载ONNX模型

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


# 4. 构建模型(支持INT8量化,提升速度)

rknn.build(do_quantization=False)  # 先不量化测试,成功后开启量化


# 5. 保存RKNN模型

rknn.export_rknn("model.rknn")


# 6. 释放资源

rknn.release()


运行脚本后得到 model.rknn,拷贝到 RK3588 板端。


四、RK3588 板端环境部署(Linux 系统)


1. 安装 RKNN Runtime(板端推理库)


1. 将 PC 端下载的 rknn_toolkit2/rknn_server/linux/librknnrt.so 拷贝到板端:


# 板端执行

sudo cp librknnrt.so /usr/lib/

sudo ldconfig


2. 安装 Python 依赖(用于 Python API 部署)


sudo apt update

sudo apt install python3-pip python3-opencv

pip3 install rknn-toolkit-lite2==1.6.0


2. 验证 NPU 是否可用


# 查看NPU设备

ls /dev/rknn*

# 输出 /dev/rknn0 说明NPU驱动正常


五、板端运行 RKNN 模型(实战推理)


提供Python 最简推理代码,直接运行:


import cv2

import numpy as np

from rknnlite.api import RKNNLite


# 1. 初始化RKNN Lite

rknn_lite = RKNNLite()

ret = rknn_lite.load_rknn("model.rknn")

print("加载模型成功!")


# 2. 初始化NPU运行环境

ret = rknn_lite.init_runtime(core_mask=RKNNLite.NPU_CORE_0)


# 3. 读取并预处理图片

img = cv2.imread("test.jpg")

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

img = cv2.resize(img, (640, 640))  # 匹配模型输入尺寸


# 4. NPU推理(核心)

outputs = rknn_lite.inference(inputs=[img])


# 5. 输出结果

print("推理结果:", outputs)


# 6. 释放资源

rknn_lite.release()


运行命令


python3 infer.py


✅ 正常输出:模型加载成功 + 推理结果,NPU 6TOPS 算力全速运行。


六、高性能部署优化(RK3588 专属)


1. 开启 INT8 量化(速度提升 3~5 倍)


转换脚本中修改:


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


dataset.txt 放少量图片用于校准,精度损失极小,速度大幅提升。


2. NPU 核心调度


RK3588 有3 个 NPU 核心,可指定多核并行:


# 3核全开,最高性能

rknn_lite.init_runtime(core_mask=RKNNLite.NPU_CORE_0_1_2)


3. C++ 部署(工业级首选,比 Python 快 20%+)


官方提供 C++ API,适合低延迟、高并发场景(安防、机器人)。


七、常见问题解决


1. 模型转换失败


降低 ONNX 算子集版本(opset=12 最稳定)


去掉模型中不支持的算子(如 GatherND 等)


2. 板端无法加载 [librknnrt.so](librknnrt.so)


检查系统架构:uname -a 必须是 aarch64


重新执行 sudo ldconfig


3. 推理速度慢


开启 INT8 量化


使用 C++ API


开启 NPU 多核


总结


1. RK3588 部署 AI 模型 = PC 端模型转 RKNN + 板端运行 RKNN Runtime


2. 标准流程:PyTorch/TensorFlow → ONNX → RKNN → NPU 推理


3. 性能优化核心:INT8 量化 + NPU 多核 + C++ 部署

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

  • *

  • *

  • *

  • *