12
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

M1 MacにTensorFlowをインストールする

Last updated at Posted at 2022-05-15

「生成Deep Learning」のサンプルコードを試すためにM1 MacにTensorFlowをインストールしました。
2022年5月14日の情報です。tensorflow 2.10のインストールついての補足を追加(2022年9月19日)。

Appleのページにインストール方法があります。

pythonをインストールする

上のAppleのページからMiniforge3-MacOSX-arm64.shをダウンロード(「Conda env:」をクリック)し、インストールします。

% chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
% sh ~/Downloads/Miniforge3-MacOSX-arm64.sh

python環境をactivateします。base環境が起動します。

% source ~/miniforge3/bin/activate
(base) %

TensorFlowのバージョンを確認する

必要なモジュールはtensorflow-deps, tensorflow-macos, tensorflow-metalの3つ。うちTensorFlowのバージョンと対応するのは最初の2つ。tensorFlow-metalはバージョンを指定せずにインストールします。

  • tensorfow-deps は conda でインストールします。condaはsearchでインストール可能なバージョンを調べることができます。
(base) % conda search -c apple tensorflow-deps
Loading channels: done
# Name                       Version           Build  Channel             
tensorflow-deps                2.5.0               0  apple               
tensorflow-deps                2.5.0               1  apple               
tensorflow-deps                2.6.0               0  apple               
tensorflow-deps                2.7.0               0  apple               
tensorflow-deps                2.8.0               0  apple
  • tensorflow-macosは pip でインストールします。pipはバージョン指定を空にして実行すると、エラーが出ますが、インストール可能なバージョンがわかります。
(base) % pip install tensorflow-macos==
ERROR: Could not find a version that satisfies the requirement tensorflow-macos== 
(from versions: 2.5.0, 2.6.0, 2.7.0, 2.8.0)
ERROR: No matching distribution found for tensorflow-macos==

最新の2.8.0にします。

TensorFlow用の仮想環境を作成する

モジュールをインストールした際に環境が壊れることが多々あるので、専用の仮装環境を作成します。
仮装環境名は、TensorFlowのバージョンからtf28とします。

(base) % conda create -n tf28 pytho=3.9

作成した仮装環境に切り替えます。

(base) % conda deactivate
% conda activate tf28
(tf28) %

TensorFlowをインストールする

(tf28) % conda install -c apple tensorflow-deps==2.8.0
(tf28) % python -m pip install tensorflow-macos==2.8.0
(tf28) % python -m pip install tensorflow-metal

pythonを起動し、TensorFlowをimportできれば成功です。

(tf28) % python
Python 3.9.12 | packaged by conda-forge | (main, Mar 24 2022, 23:25:14) 
[Clang 12.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>> 

Jupyterlabとmatplotlibをインストールする

「生成Deep Learning」のサンプルを試すにはJupyterlabとmatplotlibが必要です。
pipでインストールします。
私が試した際は、condaでインストールすると、環境が壊れました。TensorFlowをimportできなくなりました。

(tf28) % python -m pip install jupyterlab
(tf28) % python -m pip install matplotlib

base環境が自動で起動しないように設定する

termnalを起動するとbase環境が自動で起動します。
気になるので、自動で起動しないように設定します。

(tf28) % conda config --set auto_activate_base false

生成Deep Learningのサンプルを試す

サンプルコードをダウンロード(clone)し、

ターミナルを起動し、

  • ダウンロードしたフォルダへ移動
  • 仮装環境を起動
  • jupyter labを起動
% cd GDL_code
% conda activate tf28
(tf28) % jupyter lab

ノートブックを開いて、実行するとGPUに関するエラーが出ます。

2022-05-16 00:16:09.624189: I tensorflow/core/common_runtime/pluggable_device/pluggable_device
_factory.cc:305] Could not identify NUMA node of platform GPU ID0, defaulti
ng to 0. Your kernel may not have been built with NUMA support.

ただし、アクティビティモニターを見るとGPUが動いています。結果も出ますのでOKとします。

スクリーンショット 2022-05-16 0.37.17.png

(補足1)tensorflow 2.10をインストールする

同じ方法で問題なくインストールできました。
まず仮想環境を作成します。名前はtf210とします。

% conda create -n tf210 pytho=3.9
% conda activate tf210
(tf210) %

tennsorflowをインストール

(tf210) % conda install -c apple tensorflow-deps==2.10.0
(tf210) % python -m pip install tensorflow-macos==2.810.0
(tf210) % python -m pip install tensorflow-metal

jupyterlabとmatplotlibをインストール

(tf210) % python -m pip install jupyterlab
(tf210) % python -m pip install matplotlib

(補足2)pythonのバージョンを上げる

pythonのバージョンを上げたいときはconda createで新しく仮想環境を作成すれば良いです。
miniforgeをインストールし直す必要はありません。

% conda create -n test python=3.9

とすれば、3.9.xのxの部分が最新のバージョンがインストールされます。5月に2.8をインストールしたときはpython 3.9.12でしたが、先ほど2.10をインストールしたときは3.9.13に上がっていました。

その他の指定もできます。
3.9.xのx(マイクロバージョン)を指定することも可能。

% conda create -n test python=3.9.13  # 3.9.xのx(マイクロバージョン)
% conda create -n test python=3.10    # 異なるマイナーバージョン
12
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?