在Apple硅M1上python3安装Tensorflow

我在 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)]

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

回答

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

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

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

  • 从针对 x86_64 的源代码通过 Rosetta 2 编译 TensorFlow。不幸的是,根据github上的这个问题,Rosetta 2 不支持在 TensorFlow 的 pip 版本中启用的 AVX 指令集,因此需要从源代码重建。
  • 使用 Apple 开发的 M1 上对 TensorFlow 的实验支持,您可以在此 github 存储库中找到该支持。请注意,如果采用这种方式,某些 Python 软件包可能与 M1 不兼容/不可用。

请注意,截至 2021/01/04,Apple M1 不是 TensorFlow 团队支持的架构:

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

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


以上是在Apple硅M1上python3安装Tensorflow的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>