Apple Silicon MacでTensorflowを使うには、AppleがApple Siliconプロセッサ用に改変した tensorflow_macos が必要です。そのためには miniforge がインストール済みであることが条件です。まだ準備できていない場合は こちら を参照してください。
Python3の動作環境を確認する
Apple Silicon Macには最初からPython3がインストールされているはずですが、その動作環境を確認してください。コマンド名は “python” ではなく “python3” なので間違えないでください。
1 2 3 4 |
$ python3 --version ← バージョンを確認 Python 3.8.2 $ which python3 ← コマンドファイルの場所を確認 /usr/bin/python3 |
tensorflow_macos は Python 3.8 が必須です。いまのところApple Silicon Macには Python3.8 がインストールされているので辻褄が合っていますが、将来どうなるかわかりませんので注意してください。
Python3がARMアーキテクチャ上で動作していることを確認してください。次のように表示されれば問題ありません。
1 2 |
$ uname -m arm64 |
もし次のように表示される場合はRosetta上で動作しています。iTerm2.appなどを使っているとこのようになる場合がありますので、アプリの「情報を見る」の中の「Rosettaを使用して開く」のチェックを外してください。またはシステム標準のターミナルを使ってください。
1 2 |
$ uname -m x86_64 |
その他、Python公式サイトからダウンロードしたdmgファイルからPython3をインストールした場合等にもRosetta上で動作してしまいます。ARMアーキテクチャ上で動作するPython3環境を準備してください。
仮想環境の作成
Pythonで作ったプログラムは、Python本体のバージョンや使用するライブラリ同士の相性に敏感なので、仮想環境を作ってバージョンの管理を行うのが普通です。次のコマンドでTensorflow用の環境を、Python 3.8をベースに定義します。名前は任意ですがここでは “tensorflow” とします。Tensorflow以外の目的で仮想環境を作る場合も、インストールするものは異なっても手順は同じです。
1 |
$ conda create -n tensorflow python=3.8 |
続いてこの環境を有効化します。コマンドプロンプトの前に (tensorflow) と表示されて仮想環境の中であることが示されます。
1 2 |
$ conda activate tensorflow (tensorflow) $ |
ちなみに、仮想環境から抜けるにはこのようにします。
1 2 |
(tensorflow) $ conda deactivate $ |
仮想環境にインストールされたものを一覧表示します。
1 2 3 4 5 6 |
(tensorflow) $ conda list # packages in environment at /Users/ma/miniforge3/envs/tensorflow: # # Name Version Build Channel absl-py 0.10.0 pyhd8ed1ab_1 conda-forge appnope 0.1.2 py38h10201cd_1 conda-forge |
作成した仮想環境の一覧は次のコマンドで表示できます。
1 |
$ conda env list |
仮想環境の削除はこのようにします。(tensorflowの仮想環境は必要なので、今は削除しないでください)
1 |
$ conda remove -n tensorflow --all |
tensorflow-macosをインストールする
ここからは仮想環境を有効にした状態で作業してください。tensorflowが依存するファイルをインストールします。
1 |
(tensorflow) $ conda install -c apple tensorflow-deps |
Apple Silicon Mac用のtensorflowとプラグインをインストールします。
1 2 |
(tensorflow) $ python -m pip install tensorflow-macos (tensorflow) $ python -m pip install tensorflow-metal |
さらに使いそうなライブラリをインストールします。
1 2 3 |
(tensorflow) $ conda install six (tensorflow) $ conda install matplotlib (tensorflow) $ conda install opencv |
python3を起動してTensorflowをimportできることを確認してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 |
(tensorflow) $ python3 Python 3.8.10 | packaged by conda-forge | (default, May 11 2021, 06:27:18) [Clang 11.1.0 ] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf Init Plugin Init Graph Optimizer Init Kernel >>> print('Tensorflow', tf.__version__) Tensorflow 2.5.0 >>> exit() (tensorflow) $ |
強化学習で TF-Agents が必要なら次のコマンドでインストールしてください。
1 2 |
(tensorflow) $ conda install bazel (tensorflow) $ pip install tf_agents |
ついでに pandas も入れておきましょう。
1 |
(tensorflow) $ conda install pandas |
Jupyter Notebook が使いたければ入れてください。
1 2 |
(tensorflow) $ conda install jupyter (tensorflow) $ jupyter notebook |
コメント