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

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

3天内不再提示

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

触觉智能 2026-05-07 11:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文将介绍瑞芯微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。

图片

示例测试

开始介绍测试方法之前,对开发环境搭建不了解可以看上集:瑞芯微RK3588 RKNN模型推理环境部署与功能测试技巧(上)

  • RKNN Model Zoo介绍

RKNN Model Zoo提供了示例代码,旨在帮助用户快速在Rockchip瑞芯微的开发板上运行各种常用模型,整个目录结构如下:

. ├── 3rdparty # 第三方库 ├── asset ├── build-android.sh ├── build-linux.sh # Linux构建脚本 ├── datasets # 数据集 ├── docs ├── examples # 示例代码 ├── FAQ_CN.md ├── FAQ.md ├── LICENSE ├── py_utils ├── README_CN.md ├── README.md ├── scaling_frequency.sh └── utils # 常用方法,如文件操作,画图等

其中,examples目录包括了一些常用模型的示例,例如MobileNet 和 YOLO等。每个模型示例提供了Python 和 C/C++ 两个版本的示例代码。

图片

以yolov5为例:

rknn_model_zoo ├── examples │ └── yolov5 │ ├── cpp # C/C++ 版本的示例代码 │ ├── model # 模型、测试图片等文件 │ ├── python # 模型转换脚本和Python版本的示例代码 │ └── README.md └── ...

  • RKNN Python Demo 使用方法

准备模型,执行脚本下载onnx测试模型。

# 进入 rknn_model_zoo/examples/yolov5/model 目录 cd Projects/rknn_model_zoo/examples/yolov5/model chmod a+x download_model.sh # 运行 download_model.sh 脚本,下载 yolov5 onnx 模型 ./download_model.sh

图片

转换模型,执行以下命令将onnx模型转换为rknn模型。

rknn_model_zoo/examples/yolov5/python 目录 cd Projects/rknn_model_zoo/examples/yolov5/python # 运行 convert.py 脚本,将原始的 ONNX 模型转成 RKNN 模型 python convert.py ../model/yolov5s_relu.onnx rk3588 i8 ../model/yolov5s_relu.rknn

图片

连板调试,RKNN-Toolkit2的连板调试功能依赖板端的RKNN Server程序,该程序是一个运行在开发板上的后台代理服务,用于接收PC(测试使用Ubuntu虚拟机)通过USB传输过来的命令和数据,然后调用相应的运行时接口,并返回相应结果给PC。所以在做连板调试前需要确认开发板是否已启动RKNN Server程序。

adb shell ps | grep rknn_server

图片

执行如下命令,进行连板在线调试:

# 如果带上 --img_show 参数,则会显示结果图片 python yolov5.py --model_path ../model/yolov5s_relu.rknn --target rk3588 --img_show

图片

效果如图:

图片

  • RKNN C Demo 使用方法

完整运行一个RKNN C Demo,需要先将C/C++源代码编译成可执行文件,然后将可执行文件、模型文件、测试图片等相关文件推送到板端上,最后在板端运行可执行文件。

在rknn_model_zoo工程下的build-linsx.sh 本中指定前面下载的GCC交叉编译器路径。

GCC_COMPILER=/home/ido/rknn/Projects/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu

图片

图片

执行如下命令编译测试Demo,以yolov5为例:

# 运行 build-linux.sh 脚本 # 用法:./build-linux.sh -t -a -d [-b ] [-m] # -t : target (rk356x/rk3588) # 平台类型,rk3568/rk3566 都统一为rk356x # -a : arch (aarch64/armhf) # 板端系统架构 # -d : demo name # 对应 examples 目录下子文件夹的名称,如yolov5、mobilenet # -b : build_type(Debug/Release) # -m : enable address sanitizer, build_type need set to Debug chmod a+x build-linux.sh ./build-linux.sh -t rk3588 -a aarch64 -d yolov5

编译后的安装目录如下:

图片

打包安装目录生成的文件部署到开发板系统:

tar -xf rknn_yolov5_demo.tar.gz cd rknn_yolov5_demo/ chmod a+x rknn_yolov5_demo # 执行一下命令进行测试 ./rknn_yolov5_demo model/yolov5s_relu.rknn model/bus.jpg

图片

命令执行完后会生成预测结果图片out.png,从板端拉取到本地查看,在本地电脑的终端中查看效果。

图片

  • 常见问题规避

在线调试报错:

图片

解决方法-更新板端系统的adb工具:

https://github.com/airockchip/rknn-toolkit2/blob/master/doc/rknn_server_proxy.md

wget -O adbd.zip https://ftzr.zbox.filez.com/v2/delivery/data/7f0ac30dfa474892841fcb2cd29ad924/adbd.zip unzip adbd.zip adb push adbd/linux-aarch64/adbd /usr/bin/adbd

瑞芯微RK3588原厂RKNN模型详细测试方法与常见问题已讲解完毕。本文相关资料请关注深圳触觉智能

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

    关注

    91

    文章

    41430

    浏览量

    302761
  • 瑞芯微
    +关注

    关注

    27

    文章

    864

    浏览量

    54684
  • RK3588
    +关注

    关注

    8

    文章

    593

    浏览量

    7603
  • rk3588s
    +关注

    关注

    0

    文章

    38

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    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模型推理。官网上介绍说要把ONNX
    发表于 08-09 00:51

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

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

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

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

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

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

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

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

    iTOP-RK3588开发板更新RKNN模型

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

    关于 RK3588的试用体验

    差不多年龄,搞嵌入式 Linux 开发的工程师,都应该听说过飞凌嵌入式,作为老牌的嵌入式硬件平台研发企业。这家总部在河北保定的公司,已经走过了17个年头。 话不多说,先来看一
    发表于 12-12 16:46

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

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

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

    本文介绍原厂RKNN端侧模型测试验证方法,而关于开发
    的头像 发表于 03-13 17:22 802次阅读
    <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>验证技巧(<b class='flag-5'>下</b>)

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

    触觉智能(RK方案商)分享RK3588RKNN端侧模型的开发
    的头像 发表于 04-21 10:37 591次阅读
    <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'>RKNN</b><b class='flag-5'>模型</b><b class='flag-5'>推理</b><b class='flag-5'>环境</b><b class='flag-5'>部署</b>与<b class='flag-5'>功能</b><b class='flag-5'>测试</b>技巧(上)

    (EASY EAI)RV1126B rknn-toolkit-lite2使用方法

    1.rknn-toolkit-lite2介绍RKNN-Toolkit-Lite2是(Rockchip)专为旗下
    的头像 发表于 04-22 17:38 675次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(EASY EAI)RV1126B <b class='flag-5'>rknn</b>-toolkit-lite2使用方法