2021-06-30 17:40:48 Cyberbolt
注意:本方法可能安装失败,建议使用 Apple Silicon 安装 TensorFlow 的最新方法
本文根据苹果官网提供的最新方法记录,用于 Apple Silicon 安装 TensorFlow 2.5,支持在 Mac GPU 上使用 Metal 加速训练。大致思路为,通过 Miniforge3 创建 Python 3.9 的 Conda 虚拟环境,在 Conda 虚拟环境中安装支持 Apple Silicon 的 TensorFlow。
您也可以按原方法安装 TensorFlow 2.4。
此处附上苹果提供的GitHub链接
一、安装 Miniforge3
在此处下载 ARM 版 Miniforge3,如下图所示
完成后打开下载目录的终端,运行shell脚本来安装。输入如下命令
bash Miniforge3-MacOSX-arm64.sh
如下图所示
安装后按下述操作激活 Conda 的环境变量。输入命令
vim ~/.bash_profile
按 i键 进入编辑模式,输入自己的 Conda 环境路径
export PATH="/Users/Cyberbolt/miniforge3/bin:$PATH"
上面的路径是我本机的 Conda 环境路径,您的路径可能在别处,通常路径格式为 export PATH="/Users/<你的Mac用户名>/miniforge3/bin:$PATH"。
输入完成后,按一下esc键,之后输入 :wq 回车 保存,保存的内容示例图如下
然后输入命令
source $HOME/.bash_profile
此时在终端输入 python3,即为 Conda 中的 python。如下图
二、在虚拟环境安装 TensorFlow
使用 Conda 创建 ARM 版 Python3.9 的虚拟环境。确保 Conda 的 Python 环境已激活,输入如下命令创建虚拟环境
conda create -n py39 python=3.9
输入命令激活刚创建的 python3.9 解释器
conda activate py39
出现下图标识后,python3.9 已激活成功
依次输入以下命令安装 TensorFlow 及其依赖项
conda install -c apple tensorflow-deps
python -m pip install tensorflow-macos
python -m pip install tensorflow-metal
三、测试运行TensorFlow代码
这里用VS Code测试,使用VS Code打开项目目录,编辑如下代码
import tensorflow as tf
import time
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
start = time.time()
model.fit(x_train, y_train, epochs=5)
end = time.time()
model.evaluate(x_test, y_test)
print(end - start)
然后选择刚安装的虚拟环境
开始运行
可以看到 Mac GPU 的高占用率。
此时已配置完成,尽情体验 ML 带来的乐趣!
但是经个人测试,本文配置的 TensorFlow 的运行速度并不如原方法速度快,暂时未知原因,欢迎各位留言!
Muchas gracias. ?Como puedo iniciar sesion?