RK3588环境部署教程

RK3588环境部署教程

一、下载部署环境相关文件

二、RK3588主板部署环境

1.安装Miniconda3,将下载的Miniconda3拷贝近主板,输入命令安装

bash Miniconda3-latest-Linux-x86_64.sh

途中需要输入回车、q以及yes即可,安装完成后打开终端,会出现(base)即安装成功。

在这里插入图片描述
2、创建虚拟环境

# 创建虚拟环境
conda create -n rknn python=3.8

# 查看python3.8环境
python3.8 --version

# 查看虚拟环境列表
conda env list

通过命令行conda activate rknn激活虚拟环境。

3、激活rknn虚拟环境并安装python3所需要的依赖

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

4、安装python所需要的库,进入rknn–toolkit2文件的doc文件下

pip3 install -r requirements_cp38-1.5.0.txt -i https://mirror.baidu.com/pypi/simple

在这里插入图片描述
如果下载太慢,可以直接下载库文件进行安装,注意这里下载aarch版本。

torch、torchvisiontensorflow

在这里插入图片描述

5、安装rknn库,进入rknn–toolkit2文件的rknn_toolkit_lite2>package,注意这个安装aarch版本

pip3 install rknn_toolkit_lite2-1.5.0-cp38-cp38-linux_aarch64.whl

安装完成后,进入python环境进行import rknnlite查看是否成功。

在这里插入图片描述

三、测试

进入rknn-toolkit2-15\rknn_toolkit_lite2\examples\inference_with_lite文件,

运行python test.py命令,对rknn模型进行推理测试,

在这里插入图片描述

四、PC端部署RKNN环境

pc端的任务是将其他类型的模型转rknn类型。

步骤和二中的一样,只不过将aarch版本修改为linux版本。

注意:linux的rknn文件在rknn-toolkit2>packages目录下。

pip3 install rknn_toolkit2-1.5.0+1fa95b5c-cp38-cp38-linux_x86_64.whl

pc端安装成功后,通过import rknn进行测试。

在这里插入图片描述

五、解决遇到的问题

1、安装完成后设置linux和win之间可以相互复制、粘贴,教程https://blog.csdn.net/ssz__/article/details/126921531

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

2、替换python文件位置,一般环境都会有默认的3.6或2.7,如果输入python --version查看的版本不是python3.8就需要将其换至安装位置

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

3、Ubuntu18.04升级GLIBC_2.29,解决ImportError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29‘

https://blog.csdn.net/m0_37201243/article/details/123641552

https://blog.csdn.net/quantum7/article/details/128344645

4、configure: error: These critical programs are missing or too old: gawk bison
Check the INSTALL file for required versions.

参考:https://blog.csdn.net/quantum7/article/details/128344645

sudo apt install gawk
sudo apt install bison

5、These critical programs are missing or too old: gawk bison

https://blog.csdn.net/quantum7/article/details/128344645

6、AttributeError: module ‘urllib‘ has no attribute ‘urlopen‘

打开运行代码,添加request即可,import urllib.request

7、找不到api的问题

下载rknpu2,librknn_api文件夹下的几个文件通过命令移动到usr/lib和usr/bin目录下(必须使用命令行移动)

sudo mv librknn_api.so /usr/lib 

sudo mv librknnrt.so /usr/lib 

sudo mv restart_rknn.sh /usr/bin 

sudo mv rknn_server /usr/bin 

sudo mv start_rknn.sh /usr/bin 
  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源介绍】 基于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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值