Raspberry Pi 4でTensorFlow + Keras + OpenCVのインストールに手こずった件
せっかくRaspberry Pi 4を買ったのに、なぜかKerasを入れると動かなくなりまして・・・
基本的には、ここに従ってインストールしてました。
Pythonおよび機械学習勉強用のRaspberryPiの構築 (RaspberryPi4 & Buster版) - Qiita
が、やはりというか、トラブルに見舞われまして、苦戦してました。
なぜか、Kerasを動かすと「OverFlowError」が出るんです。
2点ほど修正するとうまくいったので、こちらに書き残しておきます。
まず手こずったのは、そもそもpip3でkerasを入れようとすると、「scipy」がインストールできないという件。
どうやら、ソースコードをコンパイルしようとして失敗してるようなエラーが出て、インストールできません。
そこで私がやったのは、「sudo pip3 install scipy==1.3.1」と打ち込んだこと。
コンパイルなどせず、普通に.whlファイルをダウンロードしてインストール。あっけなく成功。
未検証ですが、「sudo apt install python3-scipy」でもいけたかもしれません。
さて、ここでさっきの「OverFlowError」を出しているやつですが、エラーコード(すいません、残し忘れました)を読むと「~/python3/PIL/~」というのがずらずらと出ている感じ。
画像を、keras.preprocessing.imageの「load_img」や「array_to_img」などを使って読み込み、格納しているんですが、こいつを使うところでエラーが出ている模様。
いろいろと調べてみると、Raspberry Pi 4にあるpython 3は64ビットなのに、32ビットしか認識できないライブラリに変数を入力しようとするとOverFlowErrorが出る、らしい(適当な解釈なので、正確な表現ではないと思いますが)。
うーん・・・
どう考えても、pillowが臭い・・・
素直に考えると、Raspberry Pi 4のpython 3に相応しくないpillowが入っているっぽい、ということのようです。
ただ、pillowなんて入れた覚えがないんですよね。が、どうもaptを使って入れたような状態になってたので、一度、
> sudo apt remove python3-pil
と打ち込んだ後(aptの場合は、uninstall ではなく remove で)に、
> sudo pip3 install pillow
として、pillowを入れなおしました。
これで、OverFlowErrorが消えました。順調に動いています。
これ以外にも、TensorFlowを入れようとすると、なぜかタイムアウトしたっぽいエラーを出して失敗するんですが、それはリンク先にもある通り、一度.whlファイルをwgetで入手して「sudo pip3 install (ダウンロードしたwhlファイル名)」と打ち込むとうまくいきます。
何となくですが、Raspberry Pi 4の場合はaptよりもpip3で入れた方がうまくいくようです。
例外はOpenCVで、こいつばかりは、
> sudo apt install python3-opencv
でインストールしました。
pip3で入れると、最新版(4.X.X)が入り、現時点ではRaspberry Pi上のカメラの画像が使えないということだったので、古いながらもaptで入れる方がいいそうです。
とまあ、すったもんだしたわりに、解決策はあっさりでした。
ただ、一つ残った問題が。
Raspberry Pi 4、とても熱くなるという話だったので、ヒートシンクをつけてるんですが。
室温17.6度の部屋でKerasを使ったコードで高負荷をかけると、60.0度まで上昇します。
ヒートシンク触ったらちんちんやがねぇ(名古屋弁風)・・・こりゃあ、夏になったらやばいやつです。
その代わり、やはり処理速度が速い。
Raspberry Pi 3 B+で224秒かかっていた処理が、なんと73秒で終わりました。CPU速度のみならず、メモリの増加も貢献している模様(Raspberry Pi 3ではスワップ気味だったようなので)。
ということで、やはりRaspberry Pi 4は、ファン付き冷却を考えた方がよさそうですね。
« 3Dプリンターなどを駆使して作り上げた「ランボルギーニ ガヤルド」レプリカ | トップページ | AKIBA PC Hotlineの2019年のアクセスランキング発表 »
「Raspberry Pi・Arduino・電子工作」カテゴリの記事
- 名古屋 大須へ行ってきました(2024.04.28)
- Raspberry Pi 5用電源購入(2024.04.19)
- Interface 2024年5月号はRaspberry Pi 5特集(2024.03.26)
- Raspberry Pi 5とPCがつながらなかった理由は「プライバシーセパレーター機能」のせいでした(2024.03.12)
- Raspberry Pi 5に日本語LLM(ELYZA-Japanese-Llama-2-7b-fast-Instruct)を入れてみた(2024.03.10)
« 3Dプリンターなどを駆使して作り上げた「ランボルギーニ ガヤルド」レプリカ | トップページ | AKIBA PC Hotlineの2019年のアクセスランキング発表 »
コメント