当前位置: 首页 > article >正文

5.算法移植第六篇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.安装远程安装工具 

sudo apt-get install openssh-server

Finalshell远程连接虚拟机

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

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环境

更新列表

sudo apt-get update

更新一下软件

sudo apt-get upgrade

输入以下命令

sudo apt-get remove docker docker-engine docker.io containerd runc

 安装docker依赖的环境

sudo apt-get install ca-certificates curl gnupg lsb-release

添加密钥 

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

 添加一个软件源

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

安装docker

sudo apt-get install docker-ce docker-ce-cli containerd.io

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

sudo usermod -aG docker hjr

 输入exit退出再重启

exit

重启docker

sudo systemctl start docker

 在docker中安装其他的工具

 sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

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

 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在家目录下复制

加载镜像 

docker load --input rknn-toolkit2-1.4.0-cp38-docker.tar.gz 

 运行镜像

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 

 

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

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

apt-get install lrzsz

 

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

 cd examples/onnx/yolov5

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

 cp /examples/best-sim.onnx best-sim.onnx

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

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

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

vim mydataset.txt

 8.运行test1.py

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

python test1.py

查看图片输入以下命令

sz out2.jpg

 

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


http://www.kler.cn/a/410844.html

相关文章:

  • 基于FPGA的2FSK调制-串口收发-带tb仿真文件-实际上板验证成功
  • GitLab 备份与恢复
  • 【R语言管理】Pycharm配置R语言及使用Anaconda管理R语言虚拟环境
  • 非交换几何与黎曼ζ函数:数学中的一场革命性对话
  • JSON路径工具类`JsonPathUtil`的实现与应用
  • 公网弹性绑定负载均衡收费吗?
  • Oracle 深入学习 Part 8: Managing Tablespaces and Data Files(管理表空间和数据文件)
  • Linux中的权限管理
  • 数据结构 ——— 快速排序算法的实现(hoare版本)
  • 贵州茅台[600519]行情数据接口
  • FFmpegFrameRecorder 切分视频文件时结束条件设置不当导致切分后的文件过短问题
  • 深度解析 Docker:重塑软件部署格局
  • Element UI 打包探索【1】
  • bridge-multicast-igmpsnooping
  • 第二十八章 TCP 客户端 服务器通信 - JOB命令示例
  • Python和R荧光分光光度法
  • 基于YOLOv8深度学习的农作物番茄成熟度检测系统研究与实现(PyQt5界面+数据集+训练代码)
  • jmeter基础06_(练习)常见的http请求
  • Reactor 模式的理论与实践
  • 即时通讯平台-音视频即时通讯平台就选WorkPlus
  • 虚拟苹果系统MacOS中新建自定义C++Dylib并用C++测试程序测试
  • QT 跨平台实现 SSDP通信 支持多网卡
  • 【ArcGISPro】使用AI提取要素-土地分类(sentinel2)
  • 用树莓派Pico控制8×8 LED点阵屏:深入解析C++核心知识与动态显示实现
  • 深度学习——3种常见的Transformer位置编码【sin/cos、基于频率的二维位置编码(2D Frequency Embeddings)、RoPE】
  • 突破内存限制:Mac Mini M2 服务器化实践指南