在 Mac Studio 上安装 TensorFlow
环境 macOS 12.3.1,M1 Ultra 芯片,已经安装好 Homebrew
此前试过官网提供的安装方式,但失败,因此再试试第三方的安装方式
本文的主要流程参考自 Install TensorFlow on Apple M1 (M1, Pro, Max) with GPU (Metal),根据遇到的问题对步骤进行了调整
先安装 miniforge(它提供 conda 作为后续的 Python 环境管理工具):
brew install miniforge
然后配置当前 Shell(我使用 zsh):
conda init zsh
输出类似如下:
no change /opt/homebrew/Caskroom/miniforge/base/condabin/conda
……
modified /Users/nix/.zshrc
==> For changes to take effect, close and re-open your current shell. <==
看起来只修改了~/.zshrc(你可自行查看此文件的改动)
按提示,我们开一个新的 Shell 窗口
此时会看到 (base) 开头的提示符(~/.zshrc 里面新加代码的功劳),然后我们创建一个新的 conda 环境(独立的环境便于隔离,后续安装的包只会在这个环境里生效):
conda create --name test python=3.9
这个环境的名字是 test(可换成你喜欢的),而且指定使用 Python 3.9,不然可能安装成最新的 Python 3.10,因为目前 TensorFlow 2 只支持 Python 3.6-3.9,如果支持的版本有所变动,可自行调整
接着,我们激活 test 环境:
conda activate test
这时候应该能看到 (test) 开头的提示符
然后在此环境安装 Apple 的 TensorFlow 依赖:
conda install -c apple tensorflow-deps
以及 Apple 给 TensorFlow 提供的 Metal GPU API:
pip install tensorflow-metal
最后安装 macOS arm64 版本的 TensorFlow:
pip install tensorflow-macos
最后我们来测试一下。先进入 Python 交互环境:
python
然后导入 tensorflow(可能需要等待一会儿),看看其版本,以及 CPU/GPU 的情况:
>>> import tensorflow as tf
>>> print("TensorFlow version:", tf.__version__)
TensorFlow version: 2.8.0
>>> print("Num CPUs Available: ", len(tf.config.experimental.list_physical_devices('CPU')))
Num CPUs Available: 1
>>> print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
Num GPUs Available: 1
>>>
看起来 CPU 和 GPU 各有一个
用 Ctrl + D 退出 Python 交互环境后,可用如下命令停用 test 环境:
conda deactivate
又会看到 (base) 开头的提示符
之后若想再使用 test 环境,依然是使用如下命令激活:
conda activate test