Apple M1芯片安装tensorflow_macos后运行报架构不匹配错误如何解决
M1芯片macOS安装TensorFlow架构不匹配问题修复方案
报错根因
你遇到的mach-o, but wrong architecture报错,本质是当前安装的TensorFlow二进制包为x86架构编译,无法在arm64架构的M1芯片上运行,和你安装时的终端架构、Python版本架构、安装源都有关系。
修复步骤
- 首先确认终端未开启Rosetta转译:右键点击你使用的终端应用,选择「显示简介」,确认「使用Rosetta打开」选项未被勾选,重启终端后执行
arch命令,输出应为arm64 - 删除你当前已创建的虚拟环境,重新安装适配arm64架构的Python 3.8,推荐使用miniforge进行Python版本管理,不要使用官网下载的x86版本Python安装包
- 重新创建纯净的虚拟环境后,不要直接执行
pip install tensorflow拉取公共源的x86版本包,直接执行适配M1的安装命令:conda install tensorflow-macos tensorflow-metal - 你使用的测试脚本中有旧版M1 TensorFlow专属的配置代码,新版无需该配置,直接删除以下两行即可:
from tensorflow.python.compiler.mlcompute import mlcompute mlcompute.set_mlc_device(device_name='cpu')
- 安装测试脚本依赖:
pip install pandas matplotlib,再重新运行测试脚本即可正常执行
内容的提问来源于stack exchange,提问作者Nayden Van
相关产品推荐
相关产品推荐

