1. 镜像烧录
1.1 相关资源下载
从树莓派官网中,下载树莓派镜像烧录(Raspberry Pi Imager)软件;前往Ubuntu Mate官网,下载系统镜像。(烧录Raspberry Pi OS aarch64系统同样可以,环境配置部分的操作都可以通用,验证过了)
1.2 镜像烧录
打开树莓派镜像烧录软件,将插入了SD卡的读卡器插入电脑。选择下载的系统镜像,及插入的SD卡,点击烧录,等待烧录完成。
2. 系统安装与基本配置
2.1 系统安装
将烧录好的SD卡插入到树莓派中,并插入鼠标键盘方便后续操作,对树莓派上电,等待自启动,并进行一些简单设置(语言、位置、网络、用户名及密码等),等待系统安装完成。
2.2 系统基本配置
2.2.1 更新
需保证网络正常,然后进行更新
sudo apt update
sudo apt upgrade
如果出现报错,先将树莓派重启sudo reboot
,再次更新即可。
2.2.2 安装开启ssh服务并设置开机自启
sudo apt install openssh-server
sudo service ssh start
sudo systemctl enable ssh
查看本机ip地址
sudo apt install net-tools
ifconfig
ssh连接树莓派,其中user_name为系统用户名,xxx.xxx.xxx.xxx为IP地址
ssh user_name@xxx.xxx.xxx.xxx
2.2.3 安装开启VNC服务并设置开机自启
未完…
2.2.4 安装树莓派官方系统中的raspi-config
树莓派官方的Raspberry Pi OS中预安装了raspi-config,某些设置相对比较方便,在其他第三方系统中则需要自行安装,首先从其官网下载安装文件,下载地址:archive.raspberrypi.org/debian/pool/main/r/raspi-config
此处,我下载的为raspi-config_20220112_all.deb
- 安装相关依赖
sudo apt install whiptail parted lua5.1 alsa-utils psmisc
- 安装raspi-config
sudo dpkg -i raspi-config_20220112_all.deb
- 运行raspi-config
sudo raspi-config
2.2.5 安装中文输入法
sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin
然后进入系统设置,首先进入"System Settings->Personal->Language Support"
,将"Keyboard input method system"
修改为"fcitx"
;然后进入"System Settings->Other->Fcitx Configuration"
,点击+
号,取消勾选Only Show Current Language
,然后搜索找出Google Pinyin
,点击OK
添加即可。ctrl+space
进行输入法的切换。
2.2.6 验证USB摄像头是否可用
树莓派有官方的CSI接口摄像头(但我没有),具体怎么使用还不知道(没看过资料,只大概知道需要先在raspi-config中开启摄像头,使用raspistill
命令可以捕获图像)。但我手上只有一条USB接口的摄像头,需要验证该摄像头是否可以在树莓派上正常使用
# 插入USB摄像头,查看其设别号(插入和拔下分别查看设备号,消失的就是摄像头的了)
ls /dev/video*
# 安装fswebcam
sudo apt install fswebcam
# 捕获摄像头图片,存储到/PATH/OF/img.jpg,
# 此处我的摄像头设备号为/dev/video0
fswebcam /dev/video0 /PATH/OF/img.jpg
2.2.7 系统镜像备份
将SD卡从树莓派上取下,插入读卡器,并插入到另一台Ubuntu操作系统的计算机上。
参考了用树莓派4b构建深度学习应用(二)软件篇
# 1 查看U盘的盘符,在此处我的U盘为/dev/sdg
lsblk
# 2 利用dd命令将SD卡中的数据保存为.img镜像文件
sudo dd if=/dev/sdg of=/PATH/OF/rpi_arm64_backup.img bs=8M
# 3 缩小.img镜像文件尺寸
git clone https://github.com/Drewsif/PiShrink
cd PiShrink/
sudo ./pishrink.sh -s /PATH/OF/rpi_arm64_backup.img /PATH/OF/rpi_arm64_backup_small.img
未完
3. 其他开发环境配置
3.0 Python虚拟环境管理(Miniforge安装)
>1. Miniforge的安装
一直使用Anaconda作为python虚拟环境管理工具,但是Anaconda和Miniconda对树莓派的支持并不好,两者的官网上倒是都有支持aarch64的包可以下载,但是我都试了一些有问题。所以决定使用Miniforge进行替代,暂时感觉使用正常。
前往清华镜像站下载Miniforge,此处我下载的是Miniforge3-4.11.0-0-Linux-aarch64.sh
;进行安装:
cd Downloads
# 安装过程最后,Do you wish the installer to initialize Miniforge3 by running conda init? [yes|no]
# 我选择的是yes,选择no的话可能需要自己将环境变量添加到.bashrc中
bash Miniforge3-4.11.0-0-Linux-aarch64.sh
source ~/.bashrc
>2. 安装numpy
conda install numpy
>3. 创建虚拟环境
# 此处安装的Miniforge的base环境下的python为3.9.7
# 新建一个python3.7的虚拟环境raspi,用于后续的环境配置
conda create -n raspi python=3.7
# 激活虚拟环境
conda activate raspi
# 安装numpy、pyyaml
conda install numpy pyyaml
3.1 OpenCV 4.5.5的编译与安装
由于树莓派为arm架构,本来打算手动编译安装OpenCV,因为conda安装找不到相关的包。但是后来尝试了pip安装,结果发现官方有编译好的包可以直接安装,见pypi.org/project/opencv-contrib-python。(所以,手动编译安装OpenCV就没太大必要了)
# 进入raspi虚拟环境
conda activate raspi
# 以下四种应该都可以,此处我安装的是opencv-contrib-python
pip install opencv-contrib-python
pip install opencv-python
pip install opencv-python-headless
pip install opencv-contrib-python-headless
如下图,网站上显示,支持aarch64架构的opencv对应的Python Version为3.6,但我虚拟环境是python3.7,测试了一下读取图片是没有问题的。
NOTE:还未在Ubuntu Mate上测试(待测试),在Raspberry Pi OS 32位上测试过能编译成功。
参考了用树莓派4b构建深度学习应用(三)OpenCV篇和Ubuntu 16.04编译配置opencv 4.1.1 + opencv_contrib 4.1.1(C++ & Python)
>1. 依赖库的安装
sudo apt -y install build-essential cmake unzip pkg-config
sudo apt -y install libjpeg-dev libpng-dev libtiff-dev
sudo apt -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt -y install libxvidcore-dev libx264-dev
sudo apt -y install libgtk-3-dev
sudo apt -y install libcanberra-gtk*
sudo apt -y install libatlas-base-dev gfortran
>2. 构建、编译OpenCV(待测试)
首先从OpenCV的官方github库中下载opencv-4.5.5和opencv_contrib-4.5.5的源码。
构建
cd opencv-4.5.5
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv-4.5.5 \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_QT=OFF \
-D WITH_OPENGL=OFF \
-D WITH_FFMPEG=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.5/modules \
-D BUILD_EXAMPLES=ON \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D CMAKE_SHARED_LINKER_FLAGS='-latomic' \
-D OPENCV_GENERATE_PKGCONFIG=YES ..
编译
make -j4
安装
sudo make install
未完
3.2 PyTorch及TorchVision的编译与安装
有大佬提供了aarch64的release版本,下载地址https://github.com/KumaTea/pytorch-aarch64/releases,此处我下载的分别是:
torch-1.7.1-cp37-cp37m-linux_aarch64.whltorchaudio-0.7.2-cp37-cp37m-linux_aarch64.whltorchvision-0.8.2-cp37-cp37m-linux_aarch64.whl
(1.7.1版本安装后报错,找不到libpython3.7m.co.1.0;改为1.8.1版本后正常)
- torch-1.8.1+ffmpeg-cp37-cp37m-linux_aarch64.whl
- torchvision-0.9.1+ffmpeg-cp37-cp37m-linux_aarch64.whl
- torchaudio-0.8.1-cp37-cp37m-linux_aarch64.whl
安装:
# 进入raspi虚拟环境
conda activate raspi
# 安装
pip install torch-1.8.1+ffmpeg-cp37-cp37m-linux_aarch64.whl
pip install torchvision-0.9.1+ffmpeg-cp37-cp37m-linux_aarch64.whl
pip install torchaudio-0.8.1-cp37-cp37m-linux_aarch64.whl
NOTE: 测试了一下vgg16前向计算,感觉速度过于慢了,感觉不太正常!从源码编译安装试试(待完成)
仔细找了一下,发现pytorch官方其实发布了各个版本编译的whl文件,其中就包括了aarch64版本的,下载地址:https://download.pytorch.org/whl/cpu/torch_stable.html,我从中下载安装了pytorch1.8.1和torchvision0.9.1,模型前向计算速度感觉应该是正常了,但是会有警告输出。
此外,我还测试了pytorch-1.9.0 (linux_aarch64
那个,manylinux2014_aarch64
安装后使用异常) + torchvision-0.10.0 + torchaudio-0.9.0(推荐安装这个版本),安装后用使用正常,没有奇怪的警告输出,且使用YOLO_v5进行测试也正常。(1.10.0版本安装后存在问题,其他版本未提供whl文件或缺少torchvision的whl文件)
NOTE:还未在Ubuntu Mate上测试(待测试)。
自己手动编译安装Pytorch、torchvision、torchaudio(参考官方github readme)
>1. 依赖库的安装
# mkl mkl-include库的安装有问题,无法找到相关包
conda install astunparse numpy ninja pyyaml setuptools cmake cffi typing_extensions future six requests dataclasses
未完
版权声明:本文为博主Curya原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/Ricardo232525/article/details/122559144