0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

瑞芯微RK3588 RKNN模型推理环境部署与功能测试技巧(上)

触觉智能 2026-04-21 10:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

触觉智能(RK方案商)分享瑞芯微RK3588 RKNN端侧模型的开发环境搭建方法与测试方法。

【测试环境说明】

开发板系统:Ubuntu22.04

开发环境:Ubuntu22.04虚拟机

演示设备:触觉智能RK3588开发板EVB3588,开发板基于核心板+底板设计,可通过核心板开发设计底板。

RKNN

RKNN,全程Rockchip Neural Network)是瑞芯微专为自家 NPU (神经网络处理单元) 开发的端侧神经网络计算框架,提供完整的 "模型转换 - 部署 - 推理" 解决方案。瑞芯微官方软件栈可以帮助用户快速地将AI模型部署到Rockchip芯片,整体的框架如下。

图片

RKNN-Toolkit2是用户模型转换、推理与性能评估的开发套件。使用 RKNPU 时,需先通过该工具将训练好的模型转为 RKNN 格式,再借助 RKNN C APIPython API 在开发板上部署。其 Python 接口可快速实现模型转换、量化、推理、性能与内存评估、量化精度分析、模型加密等功能。。

图片

RKNN Runtime 负责加载 RKNN 模型并调用 NPU 驱动完成推理,推理流程包含输入预处理、NPU运算、输出后处理,并根据模型输入格式与量化方式,提供通用 API 和零拷贝 API 两种处理流程。

  • 通用API推理

提供一套简洁易用的推理 API,流程如图所示。数据归一化、量化、格式转换、反量化等在 CPU 上运行,模型推理在 NPU 上执行。

图片

  • 零拷贝API推理

优化了通用 API 数据处理流程,归一化、量化与模型推理均在 NPU 上执行,数据排布与反量化可在CPU或NPU完成;零拷贝 API 的输入处理效率高于通用 API。

图片

开发环境搭建

RKNN-Toolkit2安装

首先,执行如下命令进行安装Miniforge Conda:

wget -c https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh chmod 777 Miniforge3-Linux-x86_64.sh bash Miniforge3-Linux-x86_64.sh

图片图片图片图片图片

进入Conda base环境,创建一个RKNN-Toolkit2 Conda环境,命令如下:

source ~/miniforge3/bin/activate conda create -n RKNN-Toolkit2 python=3.8

图片

进入RKNN-Toolkit2 Conda环境:

conda activate RKNN-Toolkit2

图片

激活RKNN-Toolkit2 Conda环境后,可通过 pip 源安装RKNN-Toolkit2:

pip install rknn-toolkit2 -i https://pypi.org/simple

图片

验证RKNN-Toolkit2,若执行以下命令没有报错,则安装成功。

python3 >>> from rknn.api import RKNN

图片

  • 下载RKNN相关仓库

执行如下命令从github上拉群RKNN相关仓库,后续编译、测试会用到。

mkdir Projects cd Projects # 下载 RKNN-Toolkit2 仓库 git clone https://github.com/airockchip/rknn-toolkit2.git --depth 1 # 下载 RKNN Model Zoo 仓库 git clone https://github.com/airockchip/rknn_model_zoo.git --depth 1

图片图片

  • 安装编译工具

执行如下命令安装cmake工具:

sudo apt install cmake

下载GCC 交叉编译器工具链:

https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz

下载后拷贝到Ubuntu虚拟机并解压软件包,建议将GCC软件包解压到 Projects的文件夹中,后面编译RKNN C Demo时会用到:

图片
  • 安装板端RKNPU环境

开发板硬件连接如下图所示,烧录网盘固件(全新SDK网盘即将发布):

IDO_EVB3588_V1B_Ubuntu22.04_2HDMI4K_251219.img。

图片

注意:OTG接口需要连接到Ubuntu虚拟机,Ubuntu虚拟机需要安装adb命令:

sudo apt install adb

接下来,确认板卡系统支持的RKNPU驱动版本,开发板上电进入系统,执行以下命令查询NPU驱动版本:

adb shell dmesg | grep -i rknpu

图片

默认出厂固件已支持NPU驱动,若以上命令查询不到NPU驱动版本,在内核源中使能如下配置以集成NPU驱动:

CONFIG_ROCKCHIP_RKNPU=y

RKNN-Toolkit2的调试功能要求板端安装RKNPU2环境,并启动

rknn_server服务。以下是RKNPU2 环境中的两个基本概念:

RKNN Server:一个运行在开发板上的后台代理服务。该服务的主要功能是调用板端 Runtime 对应的接口处理计算机通过USB传输过来的数据,并将处理结果返回给计算机。

RKNPU2 Runtime 库(librknnrt.so):主要职责是负责在系统中加载 RKNN 模型,并通过调用专用的神经处理单元(NPU)执行RKNN模型的推理操作。

如果能够启动 rknn_server 服务,则代表板端已经安装 RKNPU2 环境。

# 进入板端 adb shell # 启动 rknn_server restart_rknn.sh

图片

检查rknn_server、librknnrt.so版本是否一致,命令如下:

# 查询rknn_server版本 strings /usr/bin/rknn_server | grep -i "rknn_server version" # 查询librknnrt.so库版本 strings /usr/lib/librknnrt.so | grep -i "librknnrt version"

如果出现以下输出信息,则代表rknn_server版本为x.x.x,librknnrt.so的版本为x.x.x。

图片

默认出厂的固件rknn_server、librknnrt.so已经一致,若版本不一致需要更新库。

# 进入前面下载的rknn-toolkit2仓库的 rknpu2 目录 cd Projects/rknn-toolkit2/rknpu2

图片

拷贝上述脚本和库替换开发板系统对应的文件进行更新:

图片

完成以上步骤,瑞芯微原厂RKNN模型推理的开发环境就完成搭建了

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 瑞芯微
    +关注

    关注

    27

    文章

    844

    浏览量

    54647
  • RK3588
    +关注

    关注

    8

    文章

    586

    浏览量

    7542
  • RKNN Toolkit
    +关注

    关注

    0

    文章

    3

    浏览量

    137
  • 触觉智能
    +关注

    关注

    1

    文章

    66

    浏览量

    897
  • rk3588s
    +关注

    关注

    0

    文章

    37

    浏览量

    717
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RK3588开发板RK3588 EVB和RK3588S EVB解读

    RK3588开发板RK3588 EVB和RK3588S EVB解读
    的头像 发表于 09-22 15:54 2.3w次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3588</b>开发板<b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解读

    基于RK3588的NPU案例分享!6T是真的强!

    加水印的方式添加至图像,并保存成图片文件。案例循环测试10次,统计出推理的平均处理耗时。测试基于创龙科技RK3588工业评估板TL3588-
    发表于 07-17 10:55

    【ELF 2学习板试用】ELF2开发板(飞凌嵌入式)搭建深度学习环境部署RKNN环境部署

    使用的是WSL2系统,当然使用虚拟机也是可以的,本人主要教学搭建yolov5模型转换为rknn环境搭建,以及基本步骤,从该文章您可以学习到rk3588
    发表于 02-04 14:15

    添越智创基于 RK3588 开发板部署测试 DeepSeek 模型全攻略

    和NPU的利用率,可以看到CPU的占用率已经降了下来,并且调用了NPU的3个核心进行加速推理: 通过以上两种方法,我们掌握了在 RK3588 开发板上部署测试 DeepSeek
    发表于 02-14 17:42

    请问如何在RK3588使用npu,用onnx模型推理

    请问如何在 RK3588使用npu,用onnx模型
    发表于 08-09 00:51

    基于米尔RK3576开发板的Qwen2-VL-3B模型NPU多模态部署评测

    视觉任务(如工业缺陷检测)中,单位算力利用率比 RK3588 高 18%(据内部测试数据); 功耗控制:依托 8nm 工艺与动态电压调
    发表于 08-29 18:08

    AIoT行业SoC天花板,RK3588旗舰芯片开发板发布!

    。图:RK3588S EVB 功能接口正面分布图 RK3588S EVB功能配置表RK3588系列开发板于
    发表于 03-07 11:03

    重磅!基于RK3588旗舰芯片打造的MinipcRK3588面世

    近日,全新一代基于RK3588旗舰芯片打造的MinipcRK3588面世。 MinipcRK358
    发表于 04-04 17:14

    【飞凌RK3568开发板试用体验】RKNN模型推理测试

    研的人工智能协处理器NPU,并且提供了RKNN-Toolkit。今天就介绍一下如何使用RKNN模型进行推理应用程序开发。一、推理应用程序的基
    发表于 12-08 19:06

    已结束-【书籍评测活动NO.2】官方推荐,基于RK3399Pro与RK3588的深度学习实践

    更低,因此越来越多的开发者加入端侧智能开发队伍并合力构建其生态。英特尔、苹果等公司纷纷在端侧智能设备发力,国内也涌现出诸如华为昇腾、RK
    发表于 02-16 14:24

    iTOP-RK3588开发板更新RKNN模型

    , 在 RKNN SDK 的 examples/rknn_yolov5_demo/model/RK3588/目录下,如下图所示: 如使用自己的模型需要转换成
    发表于 09-21 11:39

    关于 RK3588的试用体验

    最新研发的,基于 RK3588 处理器的工业级(商业级)核心板,FET3588-C。 以前我在嵌入式Linux开发板行业工作的时候(大
    发表于 12-12 16:46

    旗舰RK3588开发板开售 比亚迪为应达利颁奖

    旗舰RK3588开发板发售 比亚迪为应达利颁奖
    的头像 发表于 03-25 19:23 5876次阅读

    优博终端推出基于RK3588OpenHarmony板卡产品方案

    优博终端推出基于RK3588OpenHarmony板卡产品方案
    的头像 发表于 03-29 09:42 1763次阅读
    优博终端推出基于<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3588</b>OpenHarmony板卡产品方案

    RK3576原厂RKNN模型环境部署功能验证技巧(下)

    本文介绍原厂RKNN端侧模型测试验证方法,而关于开发
    的头像 发表于 03-13 17:22 754次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK</b>3576原厂<b class='flag-5'>RKNN</b><b class='flag-5'>模型</b><b class='flag-5'>环境</b><b class='flag-5'>部署</b>与<b class='flag-5'>功能</b>验证技巧(下)