Mac M1 如何安装 Tensorflow [2023-09]

0 前言

写这篇博客倒不是说 tensorflow 的安装有多难,主要是版本更新快,安装方式也在更新。

过去一年里 tensorflow 经历了3个小版本的更新,从 v2.9-v2.12,以前的安装方式现已不太适用。

如今的安装相比以前要简洁多了,归功于 tensorflow 在苹果芯片上的生态越来越完善。想想去年这个时候安装,还被繁琐的步骤以及不知为何出现的 bug 且检索不出答案按在地上摩擦,斗争许久最终放弃,转移到 kaggle 上实现自己的需求。

1 安装

前提

python >= 3.8

安装 command-line tools:在 terminal 中运行xcode-select --install

现在安装已经没有 conda 的硬性要求了,主要通过 pip 安装。

建环境

python3 -m venv ~/venv-metal

source ~/venv-metal/bin/activate

python -m pip install -U pip

或者用 conda

conda create -n tf python=3.9

安装 tensorflow

version=2.13

pip install tensorflow

version<=2.12

pip install tensorflow-macos==

安装 metal

pip install tensorflow-metal==

注意

tensorflow 与 metal 之间有版本对应关系

tensorflow

tensorflow-metal

v2.5

v0.1.2

v2.6

v0.2.0

v2.7

v0.3.0

v2.8

v0.4.0

v2.9

v0.5.0

v2.10

v0.6.0

v2.11

v0.7.0

v2.12

v0.8.0

v2.13

v1.0.0

跑个代码验证一下

import tensorflow as tf

print(tf.__version__)

cifar = tf.keras.datasets.cifar100

(x_train, y_train), (x_test, y_test) = cifar.load_data()

model = tf.keras.applications.ResNet50(

include_top=True,

weights=None,

input_shape=(32, 32, 3),

classes=100,)

loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False)

model.compile(optimizer="adam", loss=loss_fn, metrics=["accuracy"])

model.fit(x_train, y_train, epochs=5, batch_size=64)

关于 tensorflow-deps

这个包包含了一些在 m1 上安装 tensorflow 所需要的依赖包,版本随着 tensorflow 的版本走,但只更新到了 v2.10,目前已经一年多未更新,推测这个包是为了解决以前 tensorflow 在 m1 上适配还没有那么完善的问题。

现在关于这个包的资料很少了,检索出来的基本都是 22 年以前的结果,苹果官方给出的安装方案也已不用这个包,但还是有很多教程写要装这个,以后应该都没必要安装了。

2 参考:

https://pypi.org/project/tensorflow-metal/

https://developer.apple.com/metal/tensorflow-plugin/

炉石传说滋养怎么样
美林百科丨只是多了一個字母,差別居然這麼大?