Tensorflow Conda Apple Silicon M1
M1 Mac (macOS Monterey 12.1) にTensor Flow環境を開発用に構築する手順。Xcodeのセットアップは終わってる前提。
Conda
Conda ダウンロード元 GitHub - conda-forge/miniforge: A conda-forge distribution.
% bash Miniforge3-MacOSX-arm64.sh # M1用インストールファイル % conda config --set auto_activate_base false # シェル起動時のConda環境起動を無効化 % conda create --name tensorflow26 python=3.9 # Condaのデフォルト(2022年1月15日時点)Python 3.10では以降出てくるtensorflow-*がサポート外。バージョン進み過ぎのため明示的にサポート内Pythonバージョンを指定 % conda activate tensorflow26
Tensor Flow
% conda install numpy opencv matplotlib % conda install -c apple tensorflow-deps % python -m pip install tensorflow-metal % python -m pip install tensorflow-macos
Jupyter
% conda install -y jupyter
Tensor Flow 実行時、無視してるエラーメッセージ (今はそれでいいらしい。結果には影響なく正常に動いている)
2022-01-15 14:59:26.033384: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:305] Could not identify NUMA node of platform GPU ID 0, defaulting to 0. Your kernel may not have been built with NUMA support. Metal device set to: Apple M1 2022-01-15 14:59:26.033582: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:271] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 0 MB memory) -> physical PluggableDevice (device: 0, name: METAL, pci bus id: <undefined>)
Jupyter NotebookからConda仮想環境を使う設定
% conda install ipykernel % ipython kernel install --user --name tensorflow26 % jupyter kernelspec list
Jupyter Notebookのデフォルトブラウザを変更
jupyter notebook --generate-config vim ~/.jupyter/jupyter_notebook_config.py #コメントアウトを外して追記 #c.NotebookApp.browser = '/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome %s'