2022年Apple M1芯片正确安装TensorFlow的方法是什么
Apple M1 设备安装 TensorFlow 常见问题解答
安装环境选择:Conda 还是 Miniforge
- 2022年5月之前,官方Conda没有推出适配Apple Silicon(arm64)架构的正式版本,Miniforge是当时唯一稳定提供arm64架构Conda包的发行版,因此早于该时间点发布的教程普遍推荐使用Miniforge。
- 目前官方Conda已经原生支持M1系列芯片,Miniforge不再是必选项,二者都可以正常搭建适配M1的Python数据科学环境,不存在功能上的本质差异。
安装标准tensorflow包报「No matching distribution found」错误的原因
- PyPI上的标准
tensorflow包在2.13版本之前,没有提供arm64架构macOS的预编译安装包,仅支持x86_64架构的设备。 - 在M1芯片的arm64原生Python环境中执行
pip install tensorflow时,pip找不到对应架构的安装包,就会抛出该错误。如果通过Rosetta 2转译运行x86版本的Python,虽然可以安装标准tensorflow包,但转译层会带来明显的性能损耗,不推荐使用。
关于tensorflow-macos包的说明
tensorflow-macos是Apple与TensorFlow官方团队联合维护的、适配Apple Silicon架构的TensorFlow发行版,是arm64架构macOS上安装TensorFlow的标准包,已经在PyPI正式上线。- 部分用户安装
tensorflow-macos时报错,通常由两类原因导致:一是当前运行的Python是x86_64架构(通过Rosetta转译启动,或安装了x86版本的Python/Conda);二是Python版本与tensorflow-macos的支持范围不匹配,例如过高或过低的Python版本没有对应的预构建包。
tensorflow-deps与tensorflow-metal的作用及安装必要性
两个包均为Apple官方维护的TensorFlow适配组件,具体作用和安装要求如下:
tensorflow-deps:打包了TensorFlow在Apple Silicon上运行所需的全部底层系统依赖,包括适配arm64架构的数值计算库、相关系统组件。如果使用Conda管理Python环境,推荐安装该包,可以自动处理底层依赖版本,避免手动安装出现的冲突问题;如果使用官方Python+venv管理环境,则不需要安装该包,通过系统包管理器安装对应底层依赖即可。tensorflow-metal:基于Apple Metal图形API开发的TensorFlow GPU加速插件。安装该插件后,TensorFlow才能调用M1芯片的GPU完成并行计算,相比纯CPU运行,模型训练、推理速度可以提升数倍到十余倍。如果仅需要用CPU运行TensorFlow任务,可以不安装该包;如果需要GPU加速,则必须安装,且插件版本需要和已安装的tensorflow-macos版本严格对应。
内容的提问来源于stack exchange,提问作者Qiulang
相关产品推荐
相关产品推荐

