DELAEMON BLOG

Live as if you were to die tomorrow. Learn as if you were to live forever.

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'