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文件夹!

相关推荐
zzzzzz3101 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode1 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒3 天前
TShark:Wireshark CLI 功能
linux
A小辣椒3 天前
TShark:基础知识
linux
AlfredZhao3 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao4 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334664 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪4 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush45 天前
嵌入式linux学习记录十四、术语
linux·嵌入式