在 Apple 硅 M1 上 python3 安装 Tensorflow

时间:2021-01-18 07:07:29

标签: python-3.x tensorflow pip

我在 Apple Silicon M1 上安装了 macOS Big Sur,但无法在 python3 中安装 Tensorflow。 我删除了 xcode python3 并安装了 brew arm64 python3(x86 python3 也不起作用)

我检查成功 64 bis 版本

python3 -c "import sys; print(sys.version)" or python -c "import struct; print(struct.calcsize('P')*8)"
<块引用>

3.8.7(默认,2020 年 12 月 30 日 02:09:32) [Clang 12.0.0 (clang-1200.0.32.28)]

enter image description here

无论如何,这是否可行,或者谁知道如何使这项工作?

1 个答案:

答案 0 :(得分:8)

Apple M1 是一款 ARM64 架构的处理器,而 TensorFlow 的所有 pip 包都是针对 x86_64 架构编译的。 (不包括 raspberry pi 包,但它们无论如何都不会与 MacO 兼容)。

如果我们查看 TensorFlow 的 install page 上的 pip 包的名称,其中大部分包含 x86_64amd64,这表明它们是针对 x86_64 架构构建的.

如果您想在 M1 上运行 TensorFlow,您需要:

  • 从面向 x86_64 的源代码到 Rosetta 2 编译 TensorFlow。不幸的是,根据 this issue on github,Rosetta 2 不支持在 TensorFlow 的 pip 版本中启用的 AVX 指令集,因此需要从源代码重建。< /li>
  • 使用 Apple 开发的 M1 上对 TensorFlow 的实验性支持,您可以在 this github repository 上找到该支持。请注意,如果采用这种方式,某些 Python 软件包可能与 M1 不兼容/不可用。

请注意,截至 2021/01/04,the Apple M1 is not a supported architecture by the TensorFlow team

<块引用>

我们目前无法支持 Mac ARM。能够专注于所有 3 个操作系统上的构建问题的开发人员不到一个。

因此,支持必须来自社区。 SIG Build 专注于其他几个平台上的构建相关问题,让我们只关注我们官方祝福的 pip 包。