YOLOv10+PyQt5在旭日X3派(树莓派、香橙派等Linux板子均可参考)的部署运行(傻瓜方法,包含环境搭建,无桌面系统也可使用)
最近在研究旭日派X3这块板子,由于毕设用到了YOLOv8+PyQt5,不过仅是在电脑本机上跑的。因此便想试试能不能在旭日派上进行部署。首先按照地平线官方教程导出模型。
yolo export model=XXX.pt format=onnx opset=11 simplify
然后使用PTQ量化模型方案转换成bin文件再导入运行,结果发现卡在了环境搭建上。

我手头只有一台Windows笔记本,本来想下个VMWare安装个Ubuntu虚拟机的,结果打开虚拟机后一启动Ubuntu系统就崩溃,没办法继续了,新装的台式机还在学校。因此想了想能不能让旭日派像一台普通电脑一样在conda虚拟环境中安装Pytorch库,再跑模型。
我使用的是3.0.0的无桌面版本(之前2.1.0的desktop也试过可行),使用MobaXterm远程连接。

首先需要安装miniconda环境(安装包相对较小,也可以选择conda),因为旭日派是ARM架构的,所以得下载aarch64的安装包。安装包网址:Index of /,可自行下载想要的版本。
先输入
python
查看当前python版本

我觉得自带Python版本和conda安装版本对上比较好
输入
quit()
退出Python环境。
安装miniconda(我这里懒得下载传文件就直接输指令了)
wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.9.2-Linux-aarch64.sh

这样就是在下载中了。
之后执行:
bash Miniconda3-py38_4.9.2-Linux-aarch64.sh
然后一直按enter,或者回复yes确认安装即可。
安装完成后,输入
conda -V
检查当前环境,

如果回复这个说明安装成功了。
如果回复命令无效,则有可能是没有自动添加环境变量。
输入
vim ~/.bashrc
这里相当于就是在修改路径文件了,按i进入编辑模式,光标移动到文档最下面输入
export PATH=$PATH/home/sunrise/miniconda3/bin
按Esc键,再输入”:wq”保存退出。
如果想看看有没有保存上去,再输入
vim ~/.bashrc
查看即可,可以看到下面已经导入了。

然后回到正常窗口进行正常验证即可。
然后安装虚拟环境,自己取名和选择Python版本
conda create -n XXX python=3.8
问【y/n】回y就行
安装成功后激活环境:
conda activate yolo

接下来就是熟悉的安装Pytorch工作
我这里直接
conda install -c pytorch pytorch
如果要自己选择版本,去官方找包就行https://anaconda.org/
然后回y确认安装
安装完成后测试一下
输python回车
import torch
print(torch.__version__)

Pytorch安装完成没有问题。
然后安装opencv,这里使用清华源。
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
报successfully installed即可,可能会报红色警告提示某些库没安装,这个可以不管。
安装yolo的库
pip install ultralytics
安装PyQt5的库
这里根据板子或者系统不同,安装指令可能略有差异了。以下几种均可一试,安装成功就行。
pip install pyqt5
sudo apt install python3-pyqt
sudo pip3 install pyqt5 #我用的是这个指令
显示安装完成后,需要测试。
输入python
import PyQt5
如果没有出现报错的同学们就可以跳过了。
以下是可能会出现的一个问题,不知道是不是旭日派本身系统的问题,这里问题是导入PyQt5模块失败,没有找到。

显示没有这个模块,这时候就需要思考,明明已经安装成功了,为啥还是没有检测到。
其实是因为Python的模块路径没有添加进去。
这时候我们再次运行PyQt5安装指令
sudo pip3 install pyqt5

这说明它被安装在这个路径下,但这个路径并不在python的运行路径内。那么我们就需要添加路径。解决这个问题有许多方案:
1、输入su进入root,输入密码root登录后,输入export PYTHONPATH=$PYTHONPATH:/你的路径,这时候路径就已经被添加进来,这是临时添加路径,每次系统重启或者更换使用账户后会自动删除。而且这个方案有个弊端,就是添加完路径后,虽然可以正常导入PyQt5模块,但是使用pip安装/卸载其他包时会报错,也就是pip环境遭到损坏。
2、永久修改路径,输入vim ~/.bashrc(仿照之前的步骤)在最下方输入export PYTHONPATH=$PYTHONPATH:/你的路径,保存退出即可。和方法一其实是一样的原理。都有可能造成pip环境损坏或者依旧无法导入的玄学BUG(可能只有我出现这个问题了,大家使用可能没有出现这个问题)
3、也是我最建议用的方法

在你自己的代码工程中,导入库的最上面,添加
import sys
sys.path.append(“你的路径”)
之后运行你自己的代码工程时,导入PyQt5都是不会报错的。
有意思的是,我直接pip install PyQt6,安装直接成功,之后在python里导入import PyQt6,也没有报错。好像就只有PyQt5会出现这种玄学BUG,也许可能是因为这个系统原本就自带PyQt5的一些东西,出现了冲突?使用其他Linux板子的同学应该不会遇到此类问题。
这时候,环境基本已经安装的差不多了,当然可能还缺一些fire,matplotlib库这种,如果报出模块缺失,自己pip install一下即可。
基于该环境,我这里使用自己之前做的一个项目测试一下。


可以看到,最耗时的推理部分足足耗时了1秒多,只能说纯CPU跑的确实慢,最好还是选择量化模型方案或者压缩模型方案。
更多推荐
所有评论(0)