M1のMac、2021/04の時点で、brewはいかれてるは、tensorflowはinstallできないはで普通に使えない。
試行錯誤した時のメモ。
時系列順に実行した記録。
python3とpip3のinstall
python3.9にtensorflow非対応なので、python3.8に下げる。
まずIntelと混ざるのを防ぐため、brewのpython3を消す
$ brew uninstall --ignore-dependencies python3 $ python3 --version >>> Python 3.8.2 $ python3 -m pip install --upgrade pip --user $ pip3 --version >>>> pip 21.0.1 from /Users/ha~/Library/Python/3.8/lib/python/site-packages/pip (python 3.8) $ which python3 >>>>> /usr/bin/python3
******pay attention
M1のMac(2021/04時点)では「/opt」以下にanacondaとかbrewがinstallされてます。M1 Macでのhomebrewは 公式のドキュメント で /opt/homebrew にインストールすることが推奨されています(Intel版との衝突を避けて共存のため)。
condaのinstall
まず普通にanacondaのdownload。
$ conda >>>> zsh: command not found: conda
エラー吐くクソ野郎なので、正常にinstallされてるか確認
$ /opt/anaconda3/bin/conda init zsh
エラーが出なければOK
$ /opt/anaconda3/bin/conda --version >>> conda 4.9.2
やっぱりこの類のエラーかよ。
めんどいのでcondaのショートカットを作成
オリジナルのコマンド「conde」でcondaを使えるようにした。# コマンドを追加 $ sudo vi ~/.bashrc $ sudo vi ~/.zshenv >>>>> alias conde='/opt/anaconda3/bin/conda'
# パスを通す $ sudo vi ~/.bash_profile >>> source ~/.bashrc source ~/.zshenv $ source ~/.bash_profile
# 確認 $ conde --version >>>> conda 4.9.2
できた。
アーキテクチャの確認・切替
# 買った時のモード $ uname -m >>>>arm64 $ arch >>>>arm64
archコマンドでアーキテクチャの切替
$ arch -x86_64 bash # Rosetta2(Intel)で動いている多分 $ arch ($uname -m) i386
元に戻す。 $ arch -arm64 bash
tensorflowのinstall
pip3でinstallしたtensorflowを実行するとzsh illegal hardware
とエラーが出る。
もうcondaでinstallするしか、方法がわかりませんでした。
# pip3 でinstallしたtensorflowをuninstall $ pip3 uninstall tensorflow # condaでtensorflowをinstall $ (/opt/anaconda3/bin/conda) conde install tensorflow >>>> Specifications: - tensorflow -> python[version='2.7.*|3.7.*|3.6.*|3.5.*'] Your python: python=3.8
python 3.6か3.5にしろと言われた。
$ (/opt/anaconda3/bin/conda) conde install python=3.6
$ (/opt/anaconda3/bin/conda) conde install tensorflow
実行できるか確かめる
# tf.py import tensorflow from tensorflow.keras.applications.inception_v3 import InceptionV3 from tensorflow.keras.models import Model from tensorflow.keras.layers import * from tensorflow.keras.optimizers import RMSprop, Adam, SGD
$ python3 tf.py
エラーが出ないのでtensorflowをやっと実行できた。
****Pay attention
最初はM1 macbookairはpython3.9だったので、python3.9をサポートしてないtensorflowはpip3でinstallできませんでした。
最終手段でもうcondaでinstallするしかなかったです。
関連ライブラリもcondaでinstall (almost never pip3)
python3.6に下げたので、ライブラリの入れ直し。
pip3との混在を避けるためpip3でinstallするしかないライブラリ以外は、condaでinstallする
# opencvの例
$ (/opt/anaconda3/bin/conda) conde install -c conda-forge opencv