# 運行YOLOv7-tiny :::info :bulb: 以下內容參考這幾個文章 ::: - [如果下面wheel找不到,可以來這裡找新的pytorch or torchvision ](https://qengineering.eu/install-pytorch-on-raspberry-pi-4.html) - https://stephentcl.github.io/2021/12/07/Raspberrypi_with_deepsort/ - [C++ version](https://www.notion.so/YOLOv7-tiny-125b949b0dc3466c8b6d232973147da6?pvs=4#07fd6f50bd5647d9b5c5a49121a51b3c) ## 下載相關套件 ### 1. 下載Pytorch - 方法一: 使用Wheel (建議這個,簡單又快,若無法成功再使用方法二) - 版本確認 :::warning 下載Torch 前需要確認系統是否相符,執行以下確認版本,若與圖中相同,可以直接繼續後面的下載,若不符,如果系統名稱跟gcc版本不同,需要重刷印象檔,可以參考環境架設篇內的文章進行印象檔重刷 ::: ```python= # 確認系統名稱是否為aarch64 $ uname -a # 確認gcc版本 $ gcc -v ```  <br> - 版本正確,執行下載 ```python= # get a fresh start $ sudo apt-get update $ sudo apt-get upgrade # install the dependencies (if not already onboard) $ sudo apt-get install python3-pip libjpeg-dev libopenblas-dev libopenmpi-dev libomp-dev # above 58.3.0 you get version issues $ sudo -H pip3 install setuptools==58.3.0 $ sudo -H pip3 install Cython # install gdown to download from Google drive $ sudo -H pip3 install gdown # Pytorch的版本是1.13.0,如果需要其他版本可以從最上面的網站找到相對應其他的wheel # download the wheel $ gdown https://drive.google.com/uc?id=1uLkZzUdx3LiJC-Sy_ofTACfHgFprumSg # install PyTorch 1.13.0 $ sudo -H pip3 install torch-1.13.0a0+git7c98e70-cp39-cp39-linux_aarch64.whl # clean up $ rm torch-1.13.0a0+git7c98e70-cp39-cp39-linux_aarch64.whl ``` - 方法二: Torch - 增加Swap空間 swap space是磁盤上的一塊區域,當系統物理內存吃緊時,Linux會將內存中不常訪問的數據保存到swap(虛擬記憶體)上,這樣系統就有更多的物理內存為各個進程服務,而當系統需要訪問swap上存儲的內容時,再將swap上的數據加載到內存中,這就是我們常說的swap out和swap in。 **優點**: 當memory不足時,我們可以暫時使用swap空間作為memory使用,可以自己決定要分配多少的 swap memory 給系統。 **缺點**: 磁盤的速度和內存比較起來慢了好幾個數量級,如果不停的讀寫swap,對系統的性能有影響,尤其是當系統內存很吃緊的時候,讀寫swap空間發生的頻率會很高,容易導致系統運行很慢,像死了一樣 - 在Terminal進行Memory Swapping的設定 ```python= # remove the old dphys version $ sudo /etc/init.d/dphys-swapfile stop $ sudo apt-get remove --purge dphys-swapfile # install zram $ sudo wget -O /usr/bin/zram.sh https://raw.githubusercontent.com/novaspirit/rpi_zram/master/zram.sh # set autoload $ sudo nano /etc/rc.local # add the next line before exit 0 # save with <Ctrl+X>, <Y> and <Enter> /usr/bin/zram.sh & ```  - 修改zram.sh檔案 ```python= $ sudo chmod +x /usr/bin/zram.sh $ sudo nano /usr/bin/zram.sh # alter the limit with * 3 # save with <Ctrl+X>, <Y> and <Enter> mem=$(( ($totalmem / $cores)* 1024 * 3)) $ sudo reboot ``` - 確認Swap空間 ```python= $ free -m $ htop ```   - 下載 ```python= # 從github下載 $ git clone --recursive https://github.com/pytorch/pytorch $ cd pytorch $ git submodule update --remote third_party/protobuf # 調整環境參數 (在terminal輸入) $ export NO_CUDA=1 $ export NO_DISTRIBUTED=1 $ export NO_MKLDNN=1 $ export NO_NNPACK=1 $ export NO_QNNPACK=1 $ python setup.py build $ sudo -E python setup.py install $ sudo python setup.py develop && python -c "import torch" ``` ### 2. 下載Torchvision ```python= # the dependencies $ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev $ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev # install gdown to download from Google drive, if not done yet $ sudo -H pip3 install gdown # 注意Pytorch 1.13.0 相對應的Torchvision是0.14.0,如果要找其他的可以一樣在最上面的網站找 # 若選擇的兩個版本不對應,YOLO會跑不起來 # download TorchVision 0.14.0 $ gdown https://drive.google.com/uc?id=1AhbkLqKd8EZO2pZV_g9aFZGHZo2Ubc3O # install TorchVision 0.14.0 $ sudo -H pip3 install torchvision-0.14.0a0+5ce4506-cp39-cp39-linux_aarch64.whl # clean up $ rm torchvision-0.14.0a0+5ce4506-cp39-cp39-linux_aarch64.whl ``` ## 測試運行YOLO ```python= $ python3 detect.py --source [資料的位置] --weights [訓練的Weights] ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up