YOLOV5 /onnx模型转换成rknn

上两篇文章讲述了pytorch模型下best.pt转换成onnx模型,以及将onnx进行简化成为best-sim.onnx,

接下来这篇文章讲述如何将onnx模型转换成rknn模型,转换成该模型是为了在rk3568上运行

1.创建share文件夹

文件夹包含以下文件best-sim.onnx,rknn-tookit2-1.4.0压缩包,rknpu2-1.4.0压缩包

RKNN-Toolkit2-1.4.0 是一个软件开发套件,主要用于在PC和瑞芯微(Rockchip)NPU平台上进行深度学习模型的转换、推理和性能评估。

RKNPU2-1.4.0 主要用于在Rockchip NPU平台上部署和运行AI模型,为开发者提供了方便的编程接口和工具,支持的平台:它支持多种Rockchip芯片平台,包括RK3566、RK3568、RK3588、RK3588S、RV1103、RV1106等

2.主机与vmware共享文件夹

虚拟机·--选项--共享文件夹--将c:/share文件夹添加--确定

输入命令

复制代码
sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

/mnt/hgfs/ 是挂载点,我们也可以修改为其它挂载点
-o allow_other 表示普通用户也能访问共享目录。

输入上述命令进行挂载,挂载后然后,再次进入 /mnt/hgfs 查看得到共享的share文件夹 (注意:挂载后必须要再次进入/mnt/hgfs才能查看到共享的文件夹)

3.安装远程安装工具

cs 复制代码
sudo apt-get install openssh-server

Finalshell远程连接虚拟机

4.创建文件夹对rknn-toolkit2-1.4.0和rknpu2-1.4.0进行解压

cs 复制代码
mkdir rknn
cp /mnt/hgfs/share/rknn-toolkit2-1.4.0.zip    rknn/rknn-toolkit2-1.4.0.zip
cp  /mnt/hgfs/share/rknpu2-1.4.0.zip   rknpu2-1.4.0.zip
cd rknn/
ls
unzip rknn-toolkit2-1.4.0.zip
cd ..
unzip rknpu2-1.4.0.zip

5.安装docker环境

更新列表

cs 复制代码
sudo apt-get update

更新一下软件

cs 复制代码
sudo apt-get upgrade

输入以下命令

cs 复制代码
sudo apt-get remove docker docker-engine docker.io containerd runc

安装docker依赖的环境

cs 复制代码
sudo apt-get install ca-certificates curl gnupg lsb-release

添加密钥

cs 复制代码
 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

添加一个软件源

cs 复制代码
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

安装docker

cs 复制代码
sudo apt-get install docker-ce docker-ce-cli containerd.io

给自己赋予运行的权利hjr为我的用户名

cs 复制代码
sudo usermod -aG docker hjr

输入exit退出再重启

cs 复制代码
exit

重启docker

cs 复制代码
sudo systemctl start docker

在docker中安装其他的工具

cs 复制代码
 sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

输入以下命令 将镜像rknn-toolkit2-1.4.0-cp38-docker.tar.gz拷贝到家目录

cs 复制代码
 cp  /mnt/hgfs/share/best-sim.onnx  ~/rknn/rknn-toolkit2-1.4.0/examples/best-sim.onnx
 cp rknn/rknn-toolkit2-1.4.0/docker/rknn-toolkit2-1.4.0-cp38-docker.tar.gz rknn-toolkit2-1.4.0-cp38-docker.tar.gz在家目录下复制

加载镜像

cs 复制代码
docker load --input rknn-toolkit2-1.4.0-cp38-docker.tar.gz 

运行镜像

cs 复制代码
docker run -it --privileged --network=host -v /dev/bus/usb:/dev/bus/usb -v ~/rknn/rknn-toolkit2-1.4.0/examples:/examples rknn-toolkit2:1.4.0-cp38 /bin/bash 

显示以下画面说明镜像运行成功

安装文件传递工具 ,这个工具主要为了上传测试图片

cs 复制代码
apt-get install lrzsz

在docker环境下进入 cd examples/onnx/yolov5

cs 复制代码
 cd examples/onnx/yolov5

进入yolov5文件夹后,将exampels/best-sim.onnx 拷贝过来

cs 复制代码
 cp /examples/best-sim.onnx best-sim.onnx

6.在docker环境下上传测试02.jpg图片

mydataset.txt实在dataset.txt的基础上进行拷贝的,test1.py实在test.py的基础上进行拷贝的

cs 复制代码
cp datatset.txt mydataset.txt 
cp test.py test1.py

7 修改test1.py

将下面内容进行修改,将ONNX模型改为best-sim.onnx,生成的RKNN自己命名为best-sim.onnx,IMG为自己测试的图片,DATASET为识别的图片,生成以后检测图片为out2.jpg

打开mydataset.txt,打开以后是自己将要识别的图片02.jpg

cs 复制代码
vim mydataset.txt

8.运行test1.py

best-sim.rknn生成,同时out2.jpg检测图片生成

cs 复制代码
python test1.py

查看图片输入以下命令

cs 复制代码
sz out2.jpg

在docker环境下best-sim.rknn模型成功转出,对检测图片也成功进行识别

相关推荐
琅琊榜首20204 小时前
移动端AI挂机新范式:YOLOv8+NCNN实现无Root视觉自动化
人工智能·yolo·自动化
智驱力人工智能9 小时前
地铁隧道轨道障碍物实时检测方案 守护城市地下动脉的工程实践 轨道障碍物检测 高铁站区轨道障碍物AI预警 铁路轨道异物识别系统价格
人工智能·算法·yolo·目标检测·计算机视觉·边缘计算
智驱力人工智能10 小时前
机场鸟类活动智能监测 守护航空安全的精准工程实践 飞鸟检测 机场鸟击预防AI预警系统方案 机场停机坪鸟类干扰实时监测机场航站楼鸟击预警
人工智能·opencv·算法·安全·yolo·目标检测·边缘计算
前端摸鱼匠14 小时前
YOLOv8使用 Ultralytics 内置功能简化格式转换:介绍如何使用 yolo mode=data 等相关功能或辅助工具来加速和简化数据格式的准备工作
人工智能·yolo·目标检测·机器学习·目标跟踪·视觉检测
hans汉斯14 小时前
《数据挖掘》期刊推介&征稿指南
图像处理·人工智能·算法·yolo·数据挖掘·超分辨率重建·汉斯出版社
卓越软件开发14 小时前
毕设全栈开发一条龙:Java/SpringBoot/Vue/ 小程序 / Python / 安卓 / AI 图像识别 人脸检测 车牌识别 YOLO
开发语言·spring boot·python·yolo·小程序·毕业设计·课程设计
向哆哆1 天前
单车/共享单车目标检测数据集(适用YOLO系列)(已标注+划分/可直接训练)
人工智能·yolo·目标检测
Dev7z1 天前
电梯扶梯危险行为检测数据集(YOLO格式)
yolo·电梯扶梯危险行为检测数据集
sanshanjianke1 天前
YOLO快速入门和Label Studio的安装使用(速成课)
yolo
pen-ai1 天前
【Yolo系列】Yolov3 目标检测算法原理详解
算法·yolo·目标检测