本文介绍瑞芯微原厂RKNN端侧模型的测试验证方法,而关于开发环境搭建可以查看先前文章
https://www.elecfans.com/d/7651862.html。基于触觉智能RK3576开发板Purple Pi OH2演示。
RKNN
RKNN(Rockchip Neural Network) 是瑞芯微专为自家 NPU (神经网络处理单元) 开发的端侧神经网络计算框架,提供完整的 "模型转换 - 部署 - 推理" 解决方案。RK官方提供了RKNN软件栈可以帮助用户快速地将AI模型部署到Rockchip芯片,整体的框架如下。
RKNN-Toolkit2是为用户提供在计算机上进行模型转换、推理和性能评估的开发套件,RKNN-Toolkit2的主要框图如下。为了使用RKNPU,用户需要首先在计算机上运行RKNN-Toolkit2工具,将训练好的模型转换为RKNN格式模型,之后使用RKNN C API或Python API在开发板上进行部署。该工具提供的Python接口可以便捷地完成模型转换、量化、模型推理、性能和内存评估、量化精度分析、模型加密等功能。
RKNN Runtime负责加载RKNN模型,并调用NPU驱动实现在NPU上推理RKNN模型。推理RKNN模型时,包括原始数据输入预处理、NPU运行模型、输出后处理三项流程。根据不同模型输入格式和量化方式,RKNN Runtime提供通用API和零拷贝API两种处理流程:
- 通用API推理流程
提供一套简洁、无门槛的推理API,易于使用,流程如图所示。其中对数据的归一化、量化、数据排布格式转换、反量化等均在CPU上运行,模型本身的推理在NPU上运行。
- 零拷贝API推理
优化了通用API的数据处理流程,归一化、量化和模型推理都会在NPU上运行,NPU输出的数据排布格式和反量化过程在CPU或者NPU上运行。零拷贝API对于输入数据流程的处理效率会比通用API高。
运行示例程序
开始介绍测试方法之前,对开发环境搭建不了解可以看上集:瑞芯微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++两个版本的示例代码。
以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 rk3576 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 rk3576 -a aarch64 -d yolov5
编译后的安装目录如下:
打包安装目录生成的文件部署到开发板系统:
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
命令执行完后会生成预测结果图片out.png,从板端拉取到本地查看,在本地电脑的终端中查看效果。
瑞芯微原厂RKNN模型推理测试方法攻略就完成了,关注触觉智能电子发烧友。
- 随机文章
- 热门文章
- 热评文章
- 中国每百万人心脏电生理手术量只有美国1/10,问题在哪儿
- 攀岩世界杯柯桥站摘铜,骆知鹭备战奥运资格赛添信心
- 陈吉宁会见越南国会主席王庭惠
- 北华大学校长佟轶材履新长春市委常委、宣传部部长
- 15岁以下青少年不得买烟,英国禁烟法案闯过第一关
- 杭州26岁女子与朋友攀登清凉峰,失联一天一夜!刚刚,最新消息传来
- “五一”假期机票价格飙升 杭州飞云南、海南等热门城市5月2日出发便宜很多
- 周琦遭驱逐,广东队瞬间崩盘
- “金三银四”的尾声 杭州楼市迎来三个“大Boss”
- 哈马斯:将在几天内答复交换人员及停火的新提议
- 刚刚, 日本突然宣布!半导体和量子将被纳入出口管制,所有出口均需获得官方许可
- 宗校立:美国一季度GDP增速显著放缓,这是苦肉计!
- 微软全球资深副总裁张祺:AI大航海时代,人人都将拥有自己的Copilot
- 1“赛事+”提升城市“流量” 陕西商洛拓经济发展新“赛道”
- 2“五一”临近 持基过节的投资者要注意这几点
- 3华发股份:成功入选“人民优选”品牌 五一黄金周热销30亿
- 4到2027年产业规模达到2000亿元 浙江发布历史经典产业高质量发展计划
- 5钟鼓楼老街区的古都新事
- 6IDC:24Q1全球PC出货量恢复增长 达到疫情前水平
- 7非常危险!女子摔成粉碎性骨折!又是因为洞洞鞋,夏天多人中招……
- 8金税四期试点上线,财税体制改革拉开帷幕!或有资金借道信创ETF基金(562030)逢跌进场布局
- 9初步数据:我国一季度经常账户顺差392亿美元
- 10“发现山西之美”TDC旅游发现者大会举办:共话文旅新生态 邀客体验新玩法
- 11国门“夫妻档” 国庆共坚守
- 12北交所一周审核动态:2家企业更新进展 胜业电气二轮问询回复中称家电头部客户对价格敏感度较低
- 13甘肃白银县域经济:从“一枝独秀”到“多点开花”
- 1小方制药两专利受让信披出错,产品挂网价申报出差池
- 2高考在即,如何拿出最好状态?这份“锦囊”请收好
- 3【央视快评】继续弘扬“爱国、革命”的黄埔精神 为同心共圆中国梦广泛凝心聚力
- 4EBC GROUP平台外汇行情播报|科技股疲态和过热情绪引起不安
- 5父母“上瘾”,凌晨3点都不睡!儿女一查账单惊呆了……
- 6我国最大海上公务执法船“海巡09”巡航惠州港
- 7星环科技:9月10日召开业绩说明会,投资者参与
- 8四川双江口水电站库周交通工程“8·18”较大坍塌事故调查报告公布
- 9红旗天工08正式上市 售价23.98万元起
- 10国证2000指数表现亮眼 景顺长城量化策略助力捕获超额收益
- 112025年华北地区联合招聘活动在京举办
- 12小摩:料宁德时代(03750)股价短期或回调 目标价400港元 维持“增持”评级
- 139月首周港股三大指数收涨 机构对后续持乐观态度,9月首周港股三大指数收涨 机构对后续持乐观态度



