参考内容:树莓派部署YOLOv5目标检测(详细篇)_树莓派yolov5-优快云博客
我使用树莓派主要是用来进行yolo的目标检测。
下面从配置环境开始,一步一步开展我的项目。
要实现yolo,首先从yolo官网下载yolo的代码,这里使用的是yolo5,下载地址:GitHub - ultralytics/yolov5 at v6.0,尽管还有很多版本可以选择,但是我是初学者,还是根据这个博客来写吧。
1、 yolo5文件的下载
在windos 下载好filezilla客户端 - FileZilla中文网,安装版和绿色版随便下载一个应该就好,我用ie游览器的时候提示我请求被denied 了,科学上网后才下载好。
然后回到树莓派运行以下代码:
# 安装vsftpd服务器
sudo apt-get install vsftpd
# 启动ftp服务
sudo service vsftpd start
# 重启树莓派
sudo reboot
然后回到win端
如果很不幸,你的filezilla报错了。。。就像这样
响应: 550 Permission denied.
错误: 严重文件传输错误
那么你还要回到树莓派,修改权限:
sudo nano /etc/vsftpd.conf
然后 将 #write_enable=YES 改成 write_enable=YES
记得重启才会生效。
顺利传了yolo5文件~
二、安装opencv、pytorch和numpy
安装opencv:
sudo apt-get install python3-opencv
安装好啦~python3.11.3 ,接下来根据python的版本,安装对应的torch和torchvision。通常都是python3.6+的,直接安装torch 1.8.0和torchvision0.9.0就ok了。
可以输入getconf LONG_BIT,来查询系统的位数。树莓派采用后缀名分别为armv7l和aarch64,后缀为armv7l的,代表是32位,如果是64位的需要选择后缀是aarch64的。cp37则代表是python3.7。
由于bookworm的更新,使得你要么在虚拟环境里面安装pytorch、要么在全局安装(需要额外的命令),官方推荐的是虚拟环境,详细解释看这个链接Bookworm on Raspberry Pi 5 - Q-engineering (qengineering.eu)。
依次按这几个步骤做就好了。
# get version
$ python3 --version
# get location
$ which python 3.11
# merge VIRTUALENVWRAPPER_PYTHON=location/version
$ echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python" >> ~/.bashrc
# reload profile
$ source ~/.bashrc
$ sudo apt-get install python3-virtualenv
$ sudo apt-get install python3-virtualenvwrapper
$ echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
$ echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc
$ source ~/.bashrc
$ mkvirtualenv mypy
# to quit working in mypy,这个虚拟环境叫mypy,你可以自己取名字
(cv480) $ deactivate
# 下次激活mypy用下面这个命令就可以了
$ workon mypy
Three tips:
- Use lsvirtualenv to 列出 all your virtual environments .
- Use rmvirtualenv to 彻底的 remove a virtual environment, 包括 all its files and directories.
- Never use sudo in a virtual environment: 这会导致命令冲突.
现在就有了一个虚拟环境,接下来执行 命令:
$sudo apt-get install python3-pip libjpeg-dev libopenblas-dev libopenmpi-dev libomp-dev
感兴趣的可以问一下ai这个命令在干嘛。
接下来就可以进入虚拟环境里进一步配置torch和torchvision了,进入虚拟环境:
$workon mypy
(mypy) $ pip3 install setuptools numpy Cython
(mypy) $ pip3 install requests
# install PyTorch and Torchvision
(mypy) $ pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cpu
# you may like to install Torchaudio also可选安装
(mypy) $ pip3 install torchaudio --index-url https://download.pytorch.org/whl/cpu
检查一下,确实是安装好啦~
在安装setuptool numpy 和 cython 的时候我科学上网了一下,不然好像会告诉我请求超时,无法下载
——————这一节实现了数据的传输,python和一些包的下载~就先这样!
——————————————————————后记——————————
第一次设置树莓派的时候,不小心更改了源,导致了我后面手贱点了桌面上的更新以后,整个机器都动不了了,连也连接不上,问了一下技术支持
哎。。。还好我写了博客,留存了资料,一天就干完了之前一周的活。。。
这次进行到这一篇的时候,发现死活torchvision安装不上,昨晚一直报错 ,告诉我哈希表不匹配
AGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may
多次尝试无果后,我决定遇到困难睡大觉,结果今天再来尝试一次,就安装好了。。
有时候死磕也不是一种好的方法啊。。。
————————————————
可参考资料:【全流程】从头在树莓派4B上部署自己训练的yolov5模型(配合NCS2加速)_树莓派 yolo-优快云博客