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

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

3天内不再提示

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

触觉智能 2026-03-13 17:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文介绍瑞芯微原厂RKNN端侧模型的测试验证方法,而关于开发环境搭建可以查看先前文章

https://www.elecfans.com/d/7651862.html。基于触觉智能RK3576开发板Purple Pi OH2演示。

RKNN

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

wKgZO2mKxn2AS_YjAACrNKk394491.jpeg

RKNN-Toolkit2是为用户提供在计算机上进行模型转换、推理和性能评估的开发套件,RKNN-Toolkit2的主要框图如下。为了使用RKNPU,用户需要首先在计算机上运行RKNN-Toolkit2工具,将训练好的模型转换为RKNN格式模型,之后使用RKNN C API或Python API在开发板上进行部署。该工具提供的Python接口可以便捷地完成模型转换、量化、模型推理、性能和内存评估、量化精度分析、模型加密等功能。

wKgZO2mKxnyAfreFAADG0f1y0LI75.jpeg

RKNN Runtime负责加载RKNN模型,并调用NPU驱动实现在NPU上推理RKNN模型。推理RKNN模型时,包括原始数据输入预处理、NPU运行模型、输出后处理三项流程。根据不同模型输入格式和量化方式,RKNN Runtime提供通用API和零拷贝API两种处理流程:

  • 通用API推理流程

提供一套简洁、无门槛的推理API,易于使用,流程如图所示。其中对数据的归一化、量化、数据排布格式转换、反量化等均在CPU上运行,模型本身的推理在NPU上运行。

wKgZO2mKxnyAXqUnAABOLjKvb8U05.jpeg
  • 零拷贝API推理

优化了通用API的数据处理流程,归一化、量化和模型推理都会在NPU上运行,NPU输出的数据排布格式和反量化过程在CPU或者NPU上运行。零拷贝API对于输入数据流程的处理效率会比通用API高。

wKgZPGmKxnyACkPqAABNgPky3EQ60.jpeg

运行示例程序

开始介绍测试方法之前,对开发环境搭建不了解可以看上集:瑞芯微RK3576原厂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++两个版本的示例代码。

wKgZPGmz10uAdacOAAA-bU6tw2c69.jpeg

以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

wKgZPGmz10yAL9lnAADyFvXx0Tg55.jpeg

转换模型,执行以下命令将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 rk3576 i8 ../model/yolov5s_relu.rknn

wKgZO2mz10yAALA8AAEEiGw27-g35.jpeg

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

adb shell ps | grep rknn_server

wKgZO2mz10uAXhLZAAAR2-kVAhM22.jpeg

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

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

wKgZPGmz102AHkE5AAGfc7e9xsw93.jpeg
  • 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

wKgZO2mz10yAfAwYAABGRcwTIYA00.jpegwKgZO2mz102Aeh_3AABz067Nj5M07.jpeg

执行如下命令编译测试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 rk3576 -a aarch64 -d yolov5

wKgZPGmz102ATOmpAADjsmXRhIw76.jpeg

编译后的安装目录如下:

wKgZPGmz102Aa4yJAAA3jAYy_Bk11.jpeg

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

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

wKgZO2mz102AJ4vTAAAXS3PRKgE05.jpeg

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

wKgZO2mz102AOBHJAAFAlX0VjQo89.jpeg

瑞芯微原厂RKNN模型推理测试方法攻略就完成了,关注触觉智能电子发烧友。

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

    关注

    27

    文章

    901

    浏览量

    54734
  • RKNN Toolkit
    +关注

    关注

    0

    文章

    3

    浏览量

    138
  • rk3576
    +关注

    关注

    1

    文章

    315

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【米尔RK3576开发板评测】+项目名称3、使用rknn 进行图像检测

    /yolo11n.onnx rk3576 //转换为rknn模型 cd ../.. ./build-linux.sh -t rk3576 -a aarch64 -d yolo11 板
    发表于 01-03 21:03

    国产开发板的端侧AI测评-基于米尔RK3576

    ,国产自主可控必须搞起来。那与非网本期内容就跟自主可控强关联——评测一款基于国产SoC的板卡,由米尔电子推出的RK3576开发板(MYD-LR
    发表于 02-14 16:29

    适配多种系统,米尔RK3576核心板解锁多样化应用

    米尔电子发布的基于 RK3576 核心板和开发板,具备高性能数据处理能力、领先的AI智能分析功能、多样化的显示与操作体验以及强大的扩展
    发表于 05-23 16:07

    Onenet云网关方案应用--基于米尔RK3576开发板

    本文将介绍基于米尔电子MYD-LR3576开发板(米尔基于RK3576开发板)的Onenet云网关应用方案测试。 摘自优秀创作者-小手
    发表于 06-06 16:54

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

    关键词: RK3576、NPU(神经网络处理器)、端侧小语言模型(SLM)、多模态 LLM、边缘 AI
    发表于 08-29 18:08

    如何精准驱动菜品识别模型--基于米尔RK3576边缘计算盒

    置的强劲RK3576芯片,为视觉识别模型提供了充沛的本地AI算力,成功将“智慧识菜”的能力浓缩于方寸之间,充分证明了其作为边缘AI应用
    发表于 10-31 21:19

    RK3576主板YNH-536-规格书

    RK3576主板YNH-536-V1
    发表于 05-19 09:51 6次下载

    迅为RK3576开发板NPU例程测试-rknn-toolkit2环境搭建和使用

    迅为RK3576开发板NPU例程测试-rknn-toolkit2环境搭建和使用
    的头像 发表于 06-17 13:46 2115次阅读
    迅为<b class='flag-5'>RK3576</b>开发板NPU例程测试-<b class='flag-5'>rknn</b>-toolkit2<b class='flag-5'>环境</b>搭建和使用

    迅为RK3576开发板NPU环境搭建和使用rknn-toolkit2功能演示模型转换

    迅为RK3576开发板NPU环境搭建和使用rknn-toolkit2功能演示模型转换
    的头像 发表于 06-19 10:53 1655次阅读
    迅为<b class='flag-5'>RK3576</b>开发板NPU<b class='flag-5'>环境</b>搭建和使用<b class='flag-5'>rknn</b>-toolkit2<b class='flag-5'>功能</b>演示<b class='flag-5'>模型</b>转换

    RK3576RK3576S有什么区别,性能参数配置与型号差异解析

    第二代8nm高性能AIOT平台RK3576家族再添新成员-RK3576S,先说结论:相较主型号的R
    的头像 发表于 08-14 23:57 2875次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3576</b>与<b class='flag-5'>RK3576</b>S有什么区别,性能参数配置与型号差异解析

    RK3576平台RKNN模型部署实操(上)

    本文介绍RKNN端侧模型的开发环境搭建方法
    的头像 发表于 02-10 13:47 2872次阅读
    <b class='flag-5'>RK3576</b>平台<b class='flag-5'>RKNN</b><b class='flag-5'>模型</b><b class='flag-5'>部署</b>实操(上)

    AI硬件选型必看!RV1126B/RK3562/RK3576/RK3588之NPU性能实测对比

    讲清楚,方便开发者直接参考。测试环境说明本次测试均基于相同的rknn_yolov5_d
    的头像 发表于 03-14 07:11 894次阅读
    AI硬件选型必看!<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>RV1126B/<b class='flag-5'>RK</b>3562/<b class='flag-5'>RK3576</b>/<b class='flag-5'>RK</b>3588之NPU性能实测对比

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

    触觉智能(RK方案商)分享RK3588RKNN端侧模型的开发
    的头像 发表于 04-21 10:37 994次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK</b>3588 <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>测试技巧(上)

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

    1.rknn-toolkit-lite2介绍RKNN-Toolkit-Lite2是(Rockchip)专为旗下
    的头像 发表于 04-22 17:38 1029次阅读
    <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使用方法

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

    本文将介绍RK3588原RKNN端侧模型的测
    的头像 发表于 05-07 11:31 226次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK</b>3588 <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>)