私のメインマシンはMacPro2009
拡張性の大きさから10年以上現役バリバリ
M1MacBook Proはサブ
他に
MacBook Pro Late 2013
MacBook Air Mid 2012
Dell OPTIPLEX 3020(Ubuntuメイン+NAS)
HP EliteBook 820(SSD分割Ubuntu+Win10)
東芝DynaBook T350(win7)
これだけのマシンを駆使して
桜井進のPython・UNIX教室で使うUSBメモリーブートUbuntuシステムを作成できます
本当はテスト用に2016年〜2020年のMacBook Proが欲しい
さて本題
これらのマシンにPythonの実行環境がある
Pythonのバージョンメンテナンスで面倒なのがTensorFlow
それぞれのマシンで動くバージョンが違う(CPU、GPUの性能に異存)
Tensorflowのインストールだけでも手間がかかるのに
異存するライブラリのバージョンも関係するのでさらに面倒
なかでもメインマシンMacPro2009(10.15.6)はCPUが古いので
新しいTensorFlowは入らない
それでもTesorFlow 1.5.0なら動くことがわかった
ところが、
そこに画像認識をさせようとKerasを動かそうとするとこれが中々動いてくれない
試行錯誤の末、ようやくTnsorflow+Kerasが動く組合せを見つけた
Macにはpyenvを使ってPythonをインストール
これでPythonのバージョンを自在にコントロールできる
Python 3.6.5のインストール
$ pyenv install --list
$ pyenv install 3.6.5
$ pyenv global 3.6.5
$ pyenv rehash
同様にPython 3.6.6のインストールすると
次のように異なるバージョンのスイッチングが簡単にできて便利
$ pyenv versions
system
* 3.6.5 (set by /Users/sakuraisusumu/.pyenv/version)
3.6.6
TensorFlow 1.5.0 インストール
$ python -m pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.5.0-py3-none-any.whl
組合せその1
Python 3.6.6
TensorFlow 1.5.0
keras 2.6.0(最新)
TensorFlow OK
Tnsorflow+Keras NG
組合せその2
Python 3.6.6
TensorFlow 1.5.0
keras 2.4.3(2.3.0、2.2.1)
TensorFlow OK
Tnsorflow+Keras NG
組合せその3
Python 3.6.5
TensorFlow 1.5.0
keras 2.2.1
TensorFlow OK
Tnsorflow+Keras OK
これでMacPro2009でもTnsorflow+Keraを使った画像認識ができるようになった
本当に微妙なバージョン違いです
$ python ai.py cat.jpg
Using TensorFlow backend.
2021-09-17 03:28:56.088497: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.2
keras+TensorFlowによる画像認識結果
確率
tabby 71.12%
Egyptian_cat 14.72%
tiger_cat 10.62%
radiator 0.55%
doormat 0.27%
桜井進のPython・UNIX教室(入門コース全3回Zoom)の第3回授業風景
Dell OPTIPLEX 3020(Ubuntuメイン+NAS)でTnsorflow+Keraを使った画像認識を実行しているところ