インストール直後のRaspberryPiOSにOpenCV4、TensorFlow2、JupyterLabをインストールするための手順です。
環境
RaspberryPi4 4GB
RaspberryPiOS Full 32bit (2021/05/07版) ※事前にapt update & upgradeを済ませておきましょう。
OpenCV 4.5.3.56
TensorFlow 2.5.0
JupiterLab 3.2.1
前準備
$ sudo apt update
$ sudo pip3 install pip --upgrade
$ sudo pip3 install numpy --upgrade
$ sudo apt purge python3-wrapt
ソースリストのアップデートと以降のモジュールインストールで必要なアップデートと削除を行います。
OpenCVのインストール
$ sudo apt install libaom0 libatk-bridge2.0-0 libatk1.0-0 libatlas3-base libatspi2.0-0 libavcodec58 libavformat58 libavutil56 libbluray2 libcairo-gobject2 libcairo2 libchromaprint1 libcodec2-0.8.1 libcroco3 libdatrie1 libdrm2 libepoxy0 libfontconfig1 libgdk-pixbuf2.0-0 libgfortran5 libgme0 libgraphite2-3 libgsm1 libgtk-3-0 libharfbuzz0b libilmbase23 libjbig0 libmp3lame0 libmpg123-0 libogg0 libopenexr23 libopenjp2-7 libopenmpt0 libopus0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpixman-1-0 librsvg2-2 libshine3 libsnappy1v5 libsoxr0 libspeex1 libssh-gcrypt-4 libswresample3 libswscale5 libthai0 libtheora0 libtiff5 libtwolame0 libva-drm2 libva-x11-2 libva2 libvdpau1 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx5 libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwebp6 libwebpmux3 libx264-155 libx265-165 libxcb-render0 libxcb-shm0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libxinerama1 libxkbcommon0 libxrandr2 libxrender1 libxvidcore4 libzvbi0
$ sudo pip3 install opencv-python==4.5.3.56
piwheelsを参照しました。
事前のモジュールインストールはFull版だとそれほど必要はなさそうです。
python3-wraptを削除(aptでインストールされている場合)しないとOpenCVのインストールに失敗します。
TensorFlowのインストール
$ sudo apt-get install -y libhdf5-dev libc-ares-dev libeigen3-dev gcc gfortran libgfortran5 libatlas3-base libatlas-base-dev libopenblas-dev libopenblas-base libblas-dev liblapack-dev cython3 libatlas-base-dev openmpi-bin libopenmpi-dev python3-dev
$ sudo pip3 install keras_applications==1.0.8 --no-deps
$ sudo pip3 install keras_preprocessing==1.1.0 --no-deps
$ sudo pip3 install numpy==1.20.3
$ sudo pip3 install h5py==3.1.0
$ sudo pip3 install pybind11
$ pip3 install -U --user six wheel mock
$ wget "https://raw.githubusercontent.com/PINTO0309/Tensorflow-bin/master/tensorflow-2.5.0-cp37-none-linux_armv7l_numpy1200_download.sh"
$ bash tensorflow-2.5.0-cp37-none-linux_armv7l_numpy1200_download.sh
$ sudo -H pip3 install tensorflow-2.5.0-cp37-none-linux_armv7l.whl
PINTO0309氏が作成したバイナリをインストールします。こちらのインストール手順を参考にしました。
JupyterLabのインストール
$ sudo pip3 install jupyterlab==3.2.1
$ jupyter notebook --generate-config
上記のコマンドでインストールと初期設定を行います。
$ jupyter lab password
上記コマンドで起動時のパスワードを設定します。
$ jupyter lab
上記コマンドでJupyterLabが起動して、ブラウザが開きます。先ほど設定したパスワードを入力するとJupterLabが使用できます。
最後に
最小限のインストールなのでもしかすると足りないモジュールがあるかもしれません。
それとインストールを順番通り(OpenCV>TensorFlow>JupyterLab)に行ってください。なぜかJupyterLabを最初にインストールしたら中途半端な状態でインストールされてしまって起動しませんでした。追加モジュールの関係なのでしょうか・・・・
順番通りにインストールすると問題なく起動します。