ハピタス登録で1,000円分になるURL
RaspberryPi4 で Yolo v5 が動くらしい。
ラズパイ3 + Yolo 5 も試す
$ git clone https://github.com/ultralytics/yolov5.git
$ git clone 'https://github.com/Kashu7100/pytorch-armv7l.git'
$ cd pytorch-armv7l/
$ sudo pip3 install torch-1.7.0a0-cp37-cp37m-linux_armv7l.whl
$ sudo pip3 install torchvision-0.8.0a0+45f960c-cp37-cp37m-linux_armv7l.whl
pytorchがちゃんと動くか確認
$ python3
>>> import torch
やはりlibopenblas.so.0がないと怒られる。
インストールすれば解決
$ sudo apt-get install libopenblas-dev
$ python3
>>> import torch
おっっしゃ入った!
requirements.txt を本家からゲット
これが本家
https://github.com/ultralytics/yolov5
vimでrequirements.txt作ってコピペしてtorchとtorchvisionをコメントアウトする。
$ vim 'requirements.txt'
requirements.txt からインストール
$ pip3 install -r requirements.txt
エラー出た。
pythonのバージョンを3.8以上に上げなきゃいけない。
$ wget 'https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tgz'
$ tar zxvf Python-3.9.18.tgz
$ ./configure
$ make
$ sudo make install
コンパイル成功したらバージョン確認
必ず新しいターミナルを上げてのバージョン確認が必要らしい
おっしゃ!python3.9.18にアップグレードされてる。
もう一度 requirement.txt からインストール
$ pip3 install -r requirements.txt
どうもnumpyのバージョンが古いの悪いっぽい。numpy-1.22.2より上のバージョンへアップグレードが必要だ。
$ pip3 install numpy --upgrade
$ pip3 install numpy --upgrade --ignore-installed
pipをアップグレードしてみるか
$ /usr/bin/python3 -m pip install --upgrade pip
$ /usr/bin/python3 -m pip install pip
numpyアンインストール
$ pip uninstall numpy
$ pip list | grep numpy
バージョン指定してインストール
$ python -m pip install numpy==1.22.2
エラー。
インストールできるnumpyのバージョンの確認
$ python3 -m pip install numpy==
やはりエラー。
もっかいpipのアップグレード
$ python3 -m pip upgrade pip
新しいターミナルを立ち上げ。
python3-pipってのをインストールしてみる。
$ sudo apt-get install python3-pip
既に最新バージョンと言われた。
気を取り直してnumpyもっかいインストールしたれ。
$ python3 -m pip install numpy
うまくいった!numpyのバージョンが最新のnumpy-1.26.0になってる!
3度目の正直 requirement.txt からインストール
$ pip3 install -r requirements.txt
エラー、だと…?
ええい、もっかい。
$ pip3 install -r requirements.txt
$ sudo apt install -y libatlas-base-dev
$ pip install opencv-python==4.6.0.66
$ python3
>>> import cv2
numpyうまく入ってないっぽいぞ。
$ python3
>>> import numpy as np
やはりエラーか。
numpyをアンインストール。
$ pip uninstall numpy
アップグレードを指定してnumpyインストール。
$ python -m pip install numpy --upgrade
$ pip uninstall numpy
$ python -m pip install numpy==1.26.0 --upgrade
そうか。古いコンソールでやったからいけないのか。
新しいコンソールを上げてもっかいnumpyのアンインストールとインストールを試す。
$ python3
>>> import numpy as np
エラー…なぜだ。
GLIBC_2.29' not found とあるから、そもそもpython3.9のインストールで失敗してるのか?
これか。
お!どうやらラズパイのnumpyはこのインストール方法が正しいっぽいぞ!
https://www.piwheels.org/project/numpy/
$ pip3 uninstall numpy
$ sudo apt install libgfortran5 libopenblas0-pthread
まだエラー出よる…
いや待てよ。
https://www.piwheels.org/project/numpy/
をよく見ると、How to install this version のリンクがある。
今のディストリビューションを調べると…
$ lsb_release -a
busterか!buster + Python3.9 な環境なわけだけど、インストールできるのか?やってみるしかない。
$ wget 'https://www.piwheels.org/simple/numpy/numpy-1.26.0-cp39-cp39-linux_armv7l.whl#sha256=5d2199b4249c2040835eafa937af42253ee55049b94f4a5d22bf481b9c351b30'
$ sudo pip3 install numpy-1.26.0-cp39-cp39-linux_armv7l.whl
ダメか…
そもそもBusterにはPython3.9は入らなかった
なんてこった。BusterからBullseyeにアップグレードが必要なのか。
https://github.com/numpy/numpy/issues/20371
$ sudo vim /etc/apt/sources.list
変更前
変更後
$ sudo vim /etc/apt/sources.list.d/raspi.list
変更前
変更後
$ sudo apt update
公開鍵エラーか。ちっ。
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
$ sudo apt update
$ sudo apt upgrade -y
ちなみに、使うべきはpipなのか?pip3なのか?sudoは付けるべきか?の答えはこれ。ラズパイではpip3を使うのが正しい。