はじめに
せっかくRaspberry Piをもっているので、最近のトレンドであるディープラーニングを試してみようかなと思い始めました。ディープラーニングの進化は早いので情報に乗り遅れないようにするため、まずはRaspberry Piを使ってディープラーニングを体験してみたいと思います。
手順は以下を参考にしました。
Pythonクイックスタート
動作環境
デバイス:Raspberry Pi 4
OS:Raspberry Pi OS(64ビット版)
手順通りに試してみるが。。。
Raspberry PiにWindowsからSSHで接続して上記リンクの手順を試しています。
$ python3 -m pip install tflite-runtime
いきなり躓きました。上記コマンドを入力すると以下のようなエラーになります。
aptのようなOSのパッケージ管理ツールとPython特有のパッケージ管理ツール(pip)の間にコンフリクト(両方のツール間でPython APIの不適合が発生すること)があるので、pipは仮想環境内の閉じた空間でのみインストールできるようにした模様。この仮想環境内であればPython3のフルパッケージのインストールが可能とのこと。
なるほど。納得。ということで以下のような手順で、TensorFlow Liteをインストールするために仮想環境を作成します。
$ python -m venv virttest
$ source virttest/bin/activate
virttestは仮想環境の名前(これは任意の名前でOK)。
これで仮想環境を作成できたので、この空間内でTensorFlow Liteをインストール。
(virttest) $ pip3 install tflite-runtime
無事、インストールできました!
さて、次にサンプルを取得します。サンプルは以下のステップ2から取得できます。
TensorFlow Liteチュートリアル
Download sample model and image
サンプルを取得できたので、さっそくTensorFlow Liteを動かしてみます。
TensorFlow Liteはインストールしましたが、TensorFlowはインストールしていないのでエラーになりましたね。
Pythonクイックスタート
を参考にソースコードを修正して再チャレンジしてみます。
また、エラーになってしまいました。。。今度はNumPyのバージョンが合っていない模様。NumPyのバージョンを戻してみます。
(virttest) $ pip3 uninstall numpy
(virttest) $ pip3 install numpy==1.22.3
NumPy 1.22.3はインストールできたのですが、なにやらエラーが。。。
tflite-runtime 2.14.0は、NumPyの1.23.2以上のバージョンが必要のようです。。
うーむ、互換性があるんですね。NumPyの1.23.2をインストールしなおします。
(virttest) $ pip3 uninstall numpy
(virttest) $ pip3 install numpy==1.23.2
いろいろと試行錯誤しましたが、無事、TensorFlow Liteを実行できたようです。
補足
上記以外にlabel_image.pyを実行すると以下のエラーも発生しました。
Pillowという画像処理ライブラリが必要な模様。以下のコマンドでインストールしました(PILは現在開発がStopしており、Pillowがその代替として使われているとのこと)。
(virttest) $ pip3 install pillow