« 3Dプリンターなどを駆使して作り上げた「ランボルギーニ ガヤルド」レプリカ | トップページ | AKIBA PC Hotlineの2019年のアクセスランキング発表 »

2020年1月 8日 (水)

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」と打ち込んだこと。

Scipy01

コンパイルなどせず、普通に.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は、ファン付き冷却を考えた方がよさそうですね。


ラズベリーパイ4 コンピューターモデルB 4GB Raspberry Pi 4 Computer Model B

« 3Dプリンターなどを駆使して作り上げた「ランボルギーニ ガヤルド」レプリカ | トップページ | AKIBA PC Hotlineの2019年のアクセスランキング発表 »

Raspberry Pi・Arduino・電子工作」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 3Dプリンターなどを駆使して作り上げた「ランボルギーニ ガヤルド」レプリカ | トップページ | AKIBA PC Hotlineの2019年のアクセスランキング発表 »

無料ブログはココログ

スポンサード リンク

ブログ村