RV1103的算力有0.5TOPs,使用它来跑一下模型试试看看。那么就先试跑一下RKNN模型;
一、RKNN模型
RKNN 是 Rockchip npu 平台使用的模型类型,以.rknn后缀结尾的模型文件。瑞芯微提供了将自己模型转换为RKNN模型的工具。
二、准备
1、下载瑞芯微的rknpu2
使用如下指令下载:
git clone https://gitee.com/yanyitech/rknpu2.git
下载成功
2、编译
1)设置环境变量
export RK_RV1106_TOOLCHAIN=<SDK目录>/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf
2)设置权限
chmod +x build-linux_RV1106.sh
3)编译
在rknpu2/examples/RV1106_RV1103/rknn_yolov5_demo目录下运行build-linux_RV1106.sh脚本;如图
如下成功编译
三、测试
1、拷贝编译生成文件
编译完成后,install 目录下会生成一个 rknn_yolov5_demo_Linux 目录,需要将整个目录传输至开发板,我使用ssh传输到开发板;但是直接使用scp文件到开发板,操作不了。因此只能使用先从虚拟机复制到WINDOWS,再从windows复制到开发板;如图
2、运行模型
直接在根目录运行会提示内存不足,运行不了。因此需要先挂载SD卡。
1)挂载SD卡,先格式化为FAT32格式;直接插在开发板即可(开发板默认已经支持挂载SD卡)
使用df -f查看是否挂载成功;如图,成功挂载
2)运行模型
-
- 使用指令进入到目录
cd /root/rknn_yolov5_demo_Linux/
-
- 使用以下指令给rknn_yolov5_demo加权限
chmod rknn_yolov5_demo
-
- 配置环境变量
export LD_LIBRARY_PATH=/root/rknn_yolov5_demo_Linux/lib
-
- 执行模型
./rknn_yolov5_demo ./model/RV1106/yolov5s-640-640.rknn model/bus.jpg
运行成功,如图
3、查看结果
1)先下载官方标记的工具:mark.zip_免费高速下载|百度网盘-分享无限制 (baidu.com)
2)下载之后,将以下数据复制到上述下载得工具目录中data.txt中。同时将rknn_yolov5_demo/model/路径下的bus.jpg图片复制到mark目录
person @ (212 242 285 509) 0.819550 person @ (110 237 217 523) 0.817728 person @ (478 232 559 523) 0.786894 bus @ (101 141 559 445) 0.693319 person @ (78 337 122 518) 0.406052
3)标记
python3 mark.py bus.jpg
成功标记:
4)最终原图和标记图。
原图:
推理的图:
本来还想测试一下,水果和动物的图,奈何128Mflash 太小,下次再测试一下。