原创 技术帖——飞凌嵌入式RK3588开发板推理模型转换及测试

2023-6-2 11:23 457 7 7 分类: MCU/ 嵌入式

RKNN(Rockchip Neural Network)是一种用于嵌入式设备的深度学习推理框架,它提供了一个端到端的解决方案,用于将训练好的深度学习模型转换为在嵌入式设备上运行的可执行文件。使用RKNN框架可以在嵌入式设备上高效地运行深度学习模型,这对于需要在资源受限的设备上进行实时推理的应用场景非常有用。例如,可以将RKNN用于智能摄像头、机器人、无人机等嵌入式设备中,实现物体检测、人脸识别、图像分类等人工智能功能。

RKNN-Toolkit2是为用户提供在 PC、 Rockchip NPU 平台上进行模型转换、推理和性能评估的开发套件,用户通过该工具提供的 Python 接口可以便捷地完成模型转换、量化功能、模型推理、性能和内存评估以及量化精度分析等多种操作。

下面,我们就使用RKNN-Toolkit2工具将rknpu2工程中的yolov5s.onnx模型转换为yolov5s.rknn模型为例进行讲解。

开发工具:飞凌嵌入式OK3588-C开发板
开发环境:Ubuntu20.04

01:下载RKNN-Toolkit2


02:安装依赖

requirements_cp36-1.3.0.txt文件,在rknn-toolkit2/doc目录下:


03:开发环境与OK3588-C开发板连接

开发环境中安装adb

使用USB-typeC线连接到板子的TypeC0接口,PC端识别到虚拟机中。

在开发环境中检查是否连接成功

如果连接成功会返回板子的设备ID,如下:


04:下载NPU工程


05:将rknn_server和rknn库发送到开发板

在OK3588-C开发板上运行rknn_server服务

在开发环境中检测rknn_server是否运行成功

有返回进程id说明运行成功。


06:模型转换

在开发环境中进入到rknn_toolkit2工具中的examples目录中选择一个模型。本例选择的是将onnx模型转换为RKNN模型。

修改test.py

在rknn.config中添加target_platform='rk3588'

在rknn.init_runtime中添加target='rk3588'

修改完成后,运行test.py

运行成功结果如下:

同时在目录下会生成yolov5s.rknn模型。


07:编译测试源码

进入到rknpu2/examples/rknn_yolov5_demo目录下,设置环境变量:

执行编译脚本,进行编译:

然后在rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux目录下会生成rknn_yolov5_demo


08:测试

将上边生成的yolov5s.rknn模型和install目录下的rknn_yolov5_demo_Linux拷贝到开发板中

进入到rknn_yolov5_demo_Linux目录下,添加链接库的环境变量(rknn_yolov5_demo_Linux目录下的lib目录)

使用rknn模型进行物体识别命令如下:

执行结果如下:

将生成的out.jpg拷贝到本地电脑中查看,识别结果如下。

以上就是基于飞凌嵌入式OK3588-C开发板进行的RK3588推理模型转换及测试过程,希望能够对您有所帮助。

作者: 飞凌嵌入式, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-4034253.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 7
赞赏0

文章评论0条评论)

登录后参与讨论
相关推荐阅读
飞凌嵌入式 2023-09-22 14:31
RK3568笔记分享之如何挂载SPI FRAM铁电存储芯片——飞凌嵌入式/PB85RS2MC
对于做快速存储采集数据类产品的用户来说,在处理突发掉电情况时需要保存现有数据并避免数据丢失,这种情况下有很多种解决方案,铁电存储器(FRAM) 就是个很好的选择。FRAM是一种具有快速写入速度的非易失...
飞凌嵌入式 2023-09-22 14:13
“降本”是关键,飞凌嵌入式FCU1104打造低成本工商业储能EMS
在不久前举行的EESA中国国际储能展上,“工商业储能”成为了热度最高的话题之一,几乎每家展出工商业储能系统的展商都收获了大量观众的驻足围观,热度非凡。究竟是怎样的原因让工商业储能如此瞩目呢?在通过与多...
飞凌嵌入式 2023-09-15 15:40
如何在RK3568开发板上实现USBNET?——飞凌嵌入式/USB Gadget/USB-NET/网络
本文将借助飞凌嵌入式OK3568-C开发板为大家介绍实现USBNET模式的方法,在这之前需要先知道什么是USB Gadget——USB Gadget是指所开发的电子设备以USB从设备的模式通过USB连...
飞凌嵌入式 2023-08-24 14:37
飞凌嵌入式受邀参加「RISC-V芯片应用交流会」并发表主题演讲
8月23日下午,在第三届RISC-V中国峰会现场,由赛昉科技主办的「RISC-V芯片应用交流会」吸引了诸多行业伙伴和专家到场参与。此次会议旨在分享赛昉科技高性能RISC-V芯片的软件生态、应用产品、解...
EE直播间
更多
我要评论
0
7
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /3 下一条