樹莓派學習筆記(三)PyTorch

不是機器人!不是不是!發表於2020-11-24

一、PyTorch 安裝環境依賴

1.1 安裝依賴

安裝編譯需要的依賴庫:

sudo apt-get install libopenblas-dev cython3 libatlas-base-dev m4 libblas-dev cmake
sudo apt-get install python3-dev python3-yaml python3-setuptools python3-wheel python3-pillow python3-numpy

1.2 建立虛擬環境

virtualenv -p python3 ~/my_envs/pytorch
source ~/my_envs/pytorch/bin/activate

二、編譯安裝 PyTorch

2.1 設定配置項

export NO_CUDA=1
export NO_DISTRIBUTED=1
export NO_MKLDNN=1
export NO_NNPACK=1
export NO_QNNPACK=1

2.2 安裝庫檔案

pip3 install numpy pyyaml

之後建議下載編譯好的 whl,不然編譯要好久。
百度雲
提取碼:4d3s
下載後,命令安裝

pip install torch-1.6.0a0+b31f58d-cp37-cp37m-linux_armv7l.whl 
pip install torchvision-0.7.0a0+78ed10c-cp37-cp37m-linux_armv7l.whl 

安裝完跳到

2.3 下載原始碼及支援庫

git clone https://github.com/pytorch/pytorch.git
cd pytorch
# 查詢所要編譯的版本
git branch -a
git tag
git checkout v1.6.0
git submodule update --init  --recursive
git submodule update --remote third_party/protobuf

2.4 生成 whl 安裝包

python3 setup.py bdist_wheel 

可以安裝一個 CPU 溫度和使用率工具 s-tui,來監測一下系統狀態。

再開一個控制檯

sudo pip install s-tui  --ignore-installed
sudo s-tui

2.5 安裝 PyTorch

cd dist
pip3 install ./torch-1.6.0a0+b31f58d-cp37-cp37m-linux_armv7l.whl 

三、編譯安裝 Torchvision

3.1 下載原始碼

git clone https://github.com/pytorch/vision.git

3.2 選擇對應版本

pytorch 1.6 對應的 torchvision 是 0.7 的版本,checkout 出來,並安裝 PIL 支援。

pip3 install pillow
cd vision
git checkout v0.7.0-rc4
git submodule update --init   --recursive
python3 setup.py bdist_wheel

3.3 安裝 TorchVision

cd dist
pip3 install ./torchvision-0.7.0a0+78ed10c-cp37-cp37m-linux_armv7l.whl 

3.4 測試安裝

測試一下 torch 和 torchvision 是否安裝完成

python

進入python

>>> import torch
>>> torch.__version__
'1.6.0a0+b31f58d'
>>> import torchvision
>>> torchvision.__version__
'0.7.0a0+78ed10c'

由上述輸出說明安裝成功!

四、測試 yolov5

4.1 克隆 yolov5

git clone https://github.com/ultralytics/yolov5

還是直接網站下載下來快,直接克隆是真滴慢。

4.2 軟連結到 OpenCV

cd ~/my_envs/pytorch/lib/python3.7/site-packages
ln -s /usr/local/lib/python3.7/site-packages/cv2 cv2

4.3 安裝依賴庫

pip install tqdm
pip install matplotlib
pip install scipy

安裝 matplotlib 時會自動安裝 3.3.3 版本,但是會報錯,不知道為啥,我在後面加了箇舊的版本號可以安裝。yolov5 的要求是 matplotlib>=3.2.2

pip install matplotlib==3.2.2

4.4 影像識別

在 yolov5 的 GitHub 上下載下權重檔案 yolov5s.pt。

python detect.py --source data/images --weights yolov5s.pt --conf 0.25

結果會在 yolov5/runs/detect 目錄下

在這裡插入圖片描述

image 1/2 /home/pi/yolov5/data/images/bus.jpg: 640x480 4 persons, 1 buss, 1 skateboards, Done. (3.810s)
image 2/2 /home/pi/yolov5/data/images/zidane.jpg: 384x640 2 persons, 2 ties, Done. (2.986s)
Results saved to runs/detect/exp4
Done. (7.062s)

一張 3.8 秒,一張 2.9 秒,挺慢的 - 。-

相關文章