Apple M1 和其他设备上的 TensorFlow 通用 requirements.txt

Generic requirements.txt for TensorFlow on both Apple M1 and other devices

我有一本使用 Apple M1 芯片组的新书 Mac。要安装 tensorflow,我按照说明 here,即安装 tensorflow-metaltensorflow-macos 而不是正常的 tensorflow 包。

虽然这很好用,但这意味着我不能 运行 典型的 pip install -r requirements.txt 只要我们在 requirements.txt 中有 tensorflow。如果我们改为包括 tensorflow-macos,它会给非 M1 甚至非 macOS 用户带来问题。

我们的库必须适用于所有平台。是否有通用安装命令根据计算机是否为 M1 Mac 安装正确的 TensorFlow 版本?这样我们就可以为每个人使用一个requirements.txt

或者如果这不可能,我们可以通过一些 flag/option,例如 pip install -r requirements.txt --m1 来安装一些变体吗? 这里最简单、最优雅的解决方案是什么?

据此 post

您可以在 requirements.txt 上使用条件,因此

tensorflow==2.8.0; sys_platform != 'darwin' or platform_machine != 'arm64'
tensorflow-macos==2.8.0; sys_platform == 'darwin' and platform_machine == 'arm64'