RKNN demo运行

导出 RKNN 模型

下载 rknn_model_zoo

git clone ``git@gitcode.com``:qq_36813351/rknn_model_zoo.git

这个项目就是RKNN代码的Demo完全好使,一点问题都没有:

获取 Yolov5 ONNX模型文件

bash 复制代码
cd <rknn_model_zoo Path>/rknn_model_zoo/examples/yolov5/model 
chmod a+x download_model.sh
./download_model.sh

执行 rknn_model_zoo/examples/yolov5/python 目录下的模型转换程序 convert.py,使用方法:

bash 复制代码
conda activate RKNN-Toolkit2
cd <rknn_model_zoo Path>/rknn_model_zoo/examples/yolov5/python
python3 convert.py ../model/yolov5s.onnx rv1106
# output model will be saved as ../model/yolov5.rknn
bash 复制代码
python3 convert.py <onnx_model> <TARGET_PLATFORM> <dtype(optional)> <output_rknn_path(optional)>

参数介绍:

  • <onnx_model>:ONNX 模型路径。

  • <TARGET_PLATFORM>:指定NPU平台名称。例如"rv1106"。

  • <quant_dtype> :可选项,可以指定为i8fpi8表示进行量化,fp表示不量化,默认为i8

  • <output_rknn_path>:可选项,用于指定 RKNN 模型的保存路径,默认保存在 ONNX 模型同一目录下,名称为 'yolov5.rknn'

python3 convert.py ../model/yolov5s.onnx rv1106

这个是错的,因为下载的模型叫:yolov5s_relu.onnx

python3 convert.py ../model/yolov5s_relu.onnx rv1106

编译和构建

成功将 ONNX 模型转换成 RKNN 模型后,现在对 rknn_model_zoo/examples/yolov5 目录下的例程进行交叉编译,编译例程前需要设置如下环境变量:

bash 复制代码
export GCC_COMPILER=<SDK目录>/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf

执行 rknn_model_zoo 目录下的 build-linux.sh 脚本。该脚本将编译例程:

bash 复制代码
chmod +x ./build-linux.sh
./build-linux.sh -t rv1106 -a armv7l -d yolov5
bash 复制代码
(RKNN-Toolkit2) luckfox@luckfox:~/rknn_model_zoo$ ./build-linux.sh -t rv1106 -a armv7l -d yolov5

交叉编译完成后在 rknn_model_zoo 目录下会生成一个 install 目录,包含编译出来的程序和库文件。

bash 复制代码
(RKNN-Toolkit2) luckfox@luckfox:~/rknn_model_zoo/install/rv1106_linux_armv7l/rknn_yolov5_demo$ ls
lib  model  rknn_yolov5_demo

运行程序

先将整个 rknn_yolov5_demo 目录传输至开发板,然后执行下面指令运行程序:

bash 复制代码
cd /root/rknn_yolov5_demo/
./rknn_yolov5_demo model/yolov5.rknn model/bus.jpg

重点:rknn_yolov5_demo 是文件夹!!!!

推理完成后生成图片 out.png

bash 复制代码
# ls
lib               model             out.png           rknn_yolov5_demo

因为代码里把库的路径写死了!!!!!!!!

set(CMAKE_INSTALL_RPATH "$ORIGIN/lib")

是当前运行文件的./lib文件夹!

相关推荐
爱丶狸4 小时前
Grafana_Zabbix_ImageRenderer_部署与前端操作手册
linux·前端·zabbix·grafana·kylin
k4m7v2pz5 小时前
把 Bevy 0.14 游戏移植到 R36S 掌机:一场与“无窗口系统“的搏斗
linux·rust·bevy·r36s·rk3326·开源掌机
木子欢儿6 小时前
Intel 架构的 MacBook Pro 运行 Linux 发热量高解决
linux·运维·服务器
会编程的土豆9 小时前
Go 模板初识
linux·运维·服务器
regret~11 小时前
【记录】网络路由、转发与网卡隔离
linux·服务器·网络
aFakeProgramer12 小时前
Linux版本兼容问题及RTA-VRTE环境配置笔记
linux·笔记
Zhu75812 小时前
在Ubuntu24快速配置专用SFTP
linux·sftp
码农客栈12 小时前
Linux 内核顶层 Makefile 详解
linux
Embedded-Xin12 小时前
Rust学习——Cargo工具
linux·学习·架构·rust·嵌入式
weixin_4357761113 小时前
2026年长沙托育vi设计从风格定位到元素运用的设计方法
linux·运维·服务器·python