从安装Ubuntu开始配置RK3588的模型转换环境

1.这里默认已经安装好了VMware
2.RK3588使用的模型类型是rknn,需要先在PC端转成rknn类型后再在RK3588上运行

一、安装Ubuntu

1. 新建虚拟机

1.1 Ubuntu镜像下载地址:

官方地址(超慢):https://ubuntu.com/download
百度云(只有18.04):https://pan.baidu.com/s/1yzsTqK_vu2zi41Z6dtoZfQ
提取码:TaTa
阿里云开源镜像站:https://mirrors.aliyun.com/oldubuntu-releases/releases/
某不知名镜像网站:http://mirrors.melbourne.co.uk/ubuntu-releases/

1.2创建虚拟机

点击“创建新的虚拟机”——>
在这里插入图片描述
选择“自定义安装”然后下一步——>
在这里插入图片描述
保持默认的兼容类型就可以,然后下一步——>
在这里插入图片描述
选择稍后安装,然后下一步——>
在这里插入图片描述
选择Linux,然后在下方的“版本”,选择自己需要的操作系统版本——>
在这里插入图片描述
然后名字和位置可以看自己的,想叫啥叫啥,想放哪儿放哪儿(最好别放C盘,选个空间大的磁盘)——>
在这里插入图片描述
选择处理器数量和内核数,具体数量看自己的情况——>
在这里插入图片描述
给虚拟机分配内存——>
在这里插入图片描述
选择NAT,然后下一步——>

默认应该是LSI,然后下一步——>
在这里插入图片描述
默认SCSI,然后继续下一步——>
在这里插入图片描述
继续保持默认选项,然后下一步——>
在这里插入图片描述
指定磁盘大小,五六十就行,不够的话后面可以再扩——>

在这里插入图片描述
然后继续下一步——>
在这里插入图片描述
然后就OVER!(但是没有完全结束)
在这里插入图片描述
下面我们要添加刚才被我们忽略掉的ISO,点击“编辑虚拟机设置”——>
在这里插入图片描述
然后,选择镜像文件——>
在这里插入图片描述
然后就可以“开启虚拟机”——>
在这里插入图片描述

开机的时间会,非常非常非常长,也可能是我电脑的问题吧,反正且得等会儿
【Ctrl+Alt可以从虚拟机内移出鼠标】
等开机以后,左框下拉选择汉语(想选英语也行),然后,”点击安装Ubuntu“——>
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

然后又是,稍微有点漫长的等待(可能是我的问题吧),然后随便选个时区,然后继续——>
在这里插入图片描述

在这里插入图片描述
然后,等他安装
安装

然后,重启!在选项卡中找到电源然后,”重新启动客户机“(Two thousand years later…)
![在这里插入图片描述](https://img-blog.csdnimg.cn/34c18a9261c94200b0aa9df07d8ea823.png

1.3 安装VMwareTools

因为没有安装VMwareTools,我们的屏幕会非常非常小并且,无法从本地传输文件到虚拟机,所以,我们先重启虚拟机,趁着它还没有完全开机的时候,点击安装——>在这里插入图片描述

重新启动后我们可以看到桌面有一个VMwareTools,双击打开
在这里插入图片描述

将文件中的压缩包复制到主目录
在这里插入图片描述

在这里插入图片描述
然后将压缩包提取到主目录(不一定非要主目录,想放哪儿放那儿吧)
在这里插入图片描述
然后进入解压的文件中打开终端(注意路径)输入:

sudo ./vmware-install.pl

在这里插入图片描述
然后一路输入yes或者回车,就OK啦!可以看到虚拟机的桌面一下就变大了
在这里插入图片描述

【如果还不能传输文件,试试重新安装VMwareTools】
我的tools安装好后还是有问题,试了一下命令行安装
首先,我们先更新一下,终端输入

sudo apt-get update

然后命令行继续输入:

sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop

然后重启一下虚拟机,解决
在这里插入图片描述

二、RKNN-Toolkit2工具的安装和使用

从官方的资料来看,工具适用的python版本是3.6或者3.8(这里我选的是Python3.6),如果环境中有不同的python版本可以使用virtualenv来管理python环境

1 RKNN-Toolkit2的安装

1.1 安装virtualenv 环境、Python3.6 和 pip3

sudo apt-get install virtualenv 
sudo apt-get install python3 python3-dev python3-pip

1.2 安装相关依赖

sudo apt-get install libxslt1-dev zlib1g zlib1g-dev libglib2.0-0 libsm6
sudo apt-get install libgl1-mesa-glx libprotobuf-dev gcc

1.3 使用 virtualenv 管理 Python 环境并安装 Python 依赖

virtualenv -p /usr/bin/python3 venv
source venv/bin/activate
Ps:创建虚拟环境时的问题

在创建环境的时候出现了一些问题:
OSError: Command /home/tata/RK3588/bin/python3 - setuptools pkg_resources pip wheel failed with error code 2
在这里插入图片描述
解决:先到主目录中把之前创建的不完全的虚拟环境文件删除,然后,
终端输入:

pip3 -V
pip3 install --upgrade pip

然后再重新创建我们的虚拟环境
激活虚拟环境以后,cd到保存有依赖txt的文件中,如图
在这里插入图片描述
然后:
这里因为我安装的是python3.6,所以选的cp36,如果是python3.8应该用cp38

pip3 install -r requirements_cp36-1.3.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

然后,好吧,又出错了,我们看看错误提示:
ModuleNotFoundError: No module named ‘numpy’
ERROR: No matching distribution found for bfloat16==1.1
在这里插入图片描述
解决:手动安装numpy

pip3 install numpy==1.16.6 -i https://pypi.tuna.tsinghua.edu.cn/simple

然后再次下载requirements.txt就没有问题了

pip3 install -r requirements_cp36-1.3.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

1.4 安装 RKNN-Toolkit2

先把rknn_toolkit2-1.3.0_11912b58-cp36-cp36m-linux_x86_64.whl放到我们的虚拟机里,然后cd到该目录,然后:

sudo pip3 install rknn_toolkit2-1.3.0_11912b58-cp36-cp36m-linux_x86_64.whl

好吧,又报错了
在这里插入图片描述
试一下:

pip3 install rknn_toolkit2-1.3.0_11912b58-cp36-cp36m-linux_x86_64.whl  -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

OVER!

1.5 检查RKNN-Toolkit2是否安装成功

(可按ctrl+d组合键退出)

python3
from rknn.api import RKNN

如果导入 RKNN 模块没有失败,说明安装成功
在这里插入图片描述

2 RKNN-Toolkit2的使用

这里我直接用官方提供的demo进行测试,首先下载已经转为onnx的模型

在这里插入图片描述

终端定位到文件夹中:
在这里插入图片描述
然后:

python3 test.py

在这里插入图片描述
【欢迎指正交流,谢谢】

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
【资源介绍】 基于RK3588上部署yolov5s模型源码(实时摄像头检测)+部署说明文档.zip 该项目是个人毕设项目,答辩评审分达到95分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 yolov5模型(.pt)在RK3588(S)上的部署(实时摄像头检测) - 所需: - 安装Ubuntu20系统的RK3588 - 安装Ubuntu18的电脑或者虚拟机 <details> <summary>一、yolov5 PT模型获取</summary> [Anaconda教程](https://blog.csdn.net/qq_25033587/article/details/89377259)\ [YOLOv5教程](https://zhuanlan.zhihu.com/p/501798155)\ 经过上面两个教程之后,你应该获取了自己的`best.pt`文件 </details> <details> <summary>二、PT模型转onnx模型</summary> - 将`models/yolo.py`文件中的`class`类下的`forward`函数由: ```python def forward(self, x): z = [] # inference output for i in range(self.nl): x[i] = self.m[i](x[i]) # conv bs, _, ny, nx = x[i].shape # x(bs,255,20,20) to x(bs,3,20,20,85) x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous() if not self.training: # inference if self.dynamic or self.grid[i].shape[2:4] != x[i].shape[2:4]: self.grid[i], self.anchor_grid[i] = self._make_grid(nx, ny, i) if isinstance(self, Segment): # (boxes + masks) xy, wh, conf, mask = x[i].split((2, 2, self.nc + 1, self.no - self.nc - 5), 4) xy = (xy.sigmoid() * 2 + self.grid[i]) * self.stride[i] # xy wh = (wh.sigmoid() * 2) ** 2 * self.anchor_grid[i] # wh y = torch.cat((xy, wh, conf.sigmoid(), mask), 4) else: # Detect (boxes only) xy, wh, conf = x[i].sigmoid().split((2, 2, self.nc + 1), 4) xy = (xy * 2 + self.grid[i]) * self.stride[i] # xy wh = (wh * 2) ** 2 * self.anchor_grid[i] # wh y = torch.cat((xy, wh, conf), 4) z.append(y.view(bs, self.na * nx * ny, self.no)) return x if self.training else (torch.cat(z, 1),) if self.export else (torch.cat(z, 1), x) ``` 改为: ```python def forward(self, x): z = [] # inference
要在Ubuntu 20.04上搭建RK3588源码编译环境,您可以按照以下步骤进行操作: 1. 安装所需的软件和工具: - 确保您的系统已更新并安装了必要的软件源。 - 安装Git版本控制系统,运行以下命令: ``` sudo apt-get install git ``` - 安装JDK(Java开发工具包),运行以下命令: ``` sudo apt-get install openjdk-8-jdk ``` - 安装依赖库和工具,运行以下命令: ``` sudo apt-get install build-essential libssl-dev libncurses5-dev unzip ``` 2. 克隆RK3588源码仓库: - 进入您想要存储源代码的目录,运行以下命令: ``` cd <存储源码的目录> ``` - 克隆RK3588源码仓库,运行以下命令: ``` git clone https://github.com/rockchip-linux/rk3588-manifest.git ``` - 切换到源码目录,运行以下命令: ``` cd rk3588-manifest ``` 3. 初始化并同步源码: - 初始化源码,运行以下命令: ``` repo init -u https://github.com/rockchip-linux/manifests -b rk3588 -m rk3588.xml ``` - 同步源码,运行以下命令: ``` repo sync ``` 4. 编译源码: - 设置环境变量,运行以下命令: ``` source build/envsetup.sh ``` - 选择您要编译的目标,例如"rk3588-userdebug",运行以下命令: ``` lunch rk3588-userdebug ``` - 开始编译,运行以下命令: ``` make -j$(nproc) ``` 请注意,以上步骤仅提供了RK3588源码编译环境搭建的基本过程。具体的操作细节可能因您的系统配置和需求而有所不同。在执行上述步骤时,如果遇到任何错误或问题,请您参考相关文档或搜索相关资源进行解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IRUIRUI__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值