ubuntu-18.04.5-preinstalled-server-arm64+raspi3.img.xz
官方链接
我使用的是Ubuntu + balenaEtcher
官网
Ubuntu 安装balenaEtcher的方法
curl -1sLf \
'https://dl.cloudsmith.io/public/balena/etcher/setup.deb.sh' \
| sudo -E bash
sudo apt-get update
sudo apt-get install balena-etcher-electron
进入系统后会提示输入账号密码
初始账号密码均为ubuntu ,然后提示修改密码,依次输入当前密码即ubuntu 和新密码,确认密码
配置完成之后需要重新登陆。
下面开始安装桌面
接下来这一个过程
sudo apt update && sudo apt upgrade -y
安装并启动tasksel
sudo apt install tasksel -y
sudo tasksel
方向键控制上下移动,空格键选中/取消,Tab键选中OK ,按下回车即可开始安装
等待完成
在下方的命令行中输入reboot,重启即可
首先需要将树莓派联网,
安装SSH服务
sudo apt install openssh-server
确定它的IP地址
ifconfig
将控制机连接到相同的网络下,先尝试是否能ping通
ping 192.168.XXX.XXX
尝试SSH连接
ssh ubuntu@192.168.XXX.XXX
如果可以连接的话,则会让你输入被控机的密码
如果提示can’t be established,则输入以下命令
,自动信任主机并添加到已知连接中 , 该文件为~/.ssh/known_hosts
ssh -o StrictHostKeyChecking=no 192.168.XXX.XXX
被控机
安装vnc
sudo apt install -y vnc4server
启动vnc,并设置密码。启动成功后会返回端口号比如 :1 ,控制机进行连接时,需要输入IP+端口号进行连接
vncserver
安装桌面环境
sudo apt install -y x-window-system-core gdm3 gnome-panel gnome-settings-daemon metacity nautilus gnome-termina
修改 VNC的配置文件
sudo gedit ~/.vnc/xstartup
修改情况如下
#xsetroot -solid grey
#vncconfig -iconic &
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
关闭已启动的VNC
vncserver -kill :1
启动新的vnc
vncserver
控制机
下载VNC View ,官网
输入IP和端口号
比如
192.168.XXX.XXX:1
只需在控制机和被控机上分别下载安装文件并安装即可
官网
请参阅我之前的文章:Ubuntu 18.04 ROS
安装pip
sudo apt install python3-pip
安装cython
pip3 install cython
升级pip
python3 -m pip install --upgrade pip
安装opencv-python
pip3 install opencv-python
检查python版本
python3
查看输出的信息,我的是python3.6
Lite 网址 https://tensorflow.google.cn/lite/guide/python?hl=zh_cn
下载 Linux Arm 64 python 3.6 版本的文件
pip3 install tflite_runtime-2.1.0.post1-cp36-cp36m-linux_aarch64.whl
验证
python3
>>import tflite_runtime.interpreter as tflite
>>tflite.interpreter()
测试一个物体识别程序
git clone https://github.com/EdjeElectronics/TensorFlow-Lite-Object-Detection-on-Android-and-Raspberry-Pi.git
mv TensorFlow-Lite-Object-Detection-on-Android-and-Raspberry-Pi tflite
cd tflite
bash get_pi_requirements.sh
下载模型
还是在上面的终端中输入
wget -c https://storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip
unzip coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip -d model
运行,使用本地相机继续物体识别,在这里我是通过USB外接的相机
python3 TFLite_detection_webcam.py --modeldir=model
请参考训练lite模型
查看的其他资料都说官方没有arm版的pytorch 1.7.1 只能自己编译,但是我发现应该有。
可自己尝试
根据yolov5中的requirement.txt 修改
torch ==1.8.0
torchvision ==0.9.1
执行
pip3 install -r requirement.txt
就不需要自己再编译了
下面这两个版本检测结果是有问题的,不能使用,但是可以参考一下编译步骤
自编译PyTorch 1.7.1
python 版本3.6.9
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
git checkout v1.7.1
git submodule update --init --recursive # 这一步会很慢,多重复几次
设置环境变量
export NO_CUDA=1
export NO_DISTRIBUTED=1
export NO_MKLDNN=1
export NO_NNPACK=1
export NO_QNNPACK=1
开始编译
python3 setup.py build
安装
sudo python3 setup.py install
编译torchvision 0.8.1
git clone https://github.com/pytorch/vision.git
cd vision
git checkout v0.8.1
编译
python3 setup.py build
安装
sudo python3 setup.py install