M1芯片Mac使用TensorFlow时出现Import Error的求助
解决M1 Mac上TensorFlow导入时的NotFoundError问题
错误原因
报错中缺失的_OBJC_CLASS_$_MPSGraphRandomOpDescriptor属于MetalPerformanceShadersGraph框架,该框架仅在macOS 12.0(Monterey)及以上版本提供,同时旧版TensorFlow或Metal插件可能与当前系统/环境不兼容。
解决步骤
升级macOS到最低要求版本
点击左上角苹果菜单 → 关于本机,确认系统版本为macOS 12.0或更高。若版本不足,前往系统设置→通用→软件更新完成升级。升级TensorFlow及Metal插件
激活你的conda环境后,执行以下命令更新组件:conda activate tensorflow pip install --upgrade tensorflow tensorflow-metal若使用conda管理包,可替换为:
conda update tensorflow tensorflow-metal确认环境架构为ARM64
M1芯片需要原生ARM64环境,在终端执行arch命令,输出应为arm64。若输出x86_64,说明你在使用Rosetta模拟环境,需重新基于Miniforge创建ARM64架构的conda环境。清理旧插件并重装
若上述步骤无效,删除残留的插件文件后重新安装Metal插件:rm -rf /opt/homebrew/Caskroom/miniforge/base/envs/tensorflow/lib/python3.9/site-packages/tensorflow-plugins pip install --force-reinstall tensorflow-metal
内容的提问来源于stack exchange,提问作者Marco Vinciguerra
相关产品推荐
相关产品推荐

