# 運行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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.