Apple M1 和其他设备上的 TensorFlow 通用 requirements.txt
Generic requirements.txt for TensorFlow on both Apple M1 and other devices
我有一本使用 Apple M1 芯片组的新书 Mac。要安装 tensorflow,我按照说明 here,即安装 tensorflow-metal
和 tensorflow-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'
我有一本使用 Apple M1 芯片组的新书 Mac。要安装 tensorflow,我按照说明 here,即安装 tensorflow-metal
和 tensorflow-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'