22

我正在尝试让 tensorflow 在我的 MacBook pro M1 上运行。但是,我在尝试导入时不断收到以下错误:zsh: illegal hardware instruction python

我已经通过这个链接下载并安装了 tensorflow 。

这些是我的安装步骤:

  • 安装一个venv python3 -m venv venv:。
  • install_venv.sh(位于下载的文件夹中)文件拖到终端,-p在最后添加。
  • 选择 venv 的目录作为安装 tensorflow 的位置。
  • 激活venv。
  • 输入“蟒蛇”。
  • 尝试导入 tensorflow: import tensorflow as tf

我正在使用 Python 3.8.2。

我看过一些教程,这种确切的方法确实有效,所以我不知道这里有什么问题。

4

3 回答 3

15

在尝试了一堆解决方案无济于事后,这对我有用。

第 1 步使用 pyenv 安装 python 版本 3.8.5 并将其设置为您的默认 python 版本。本教程(https://realpython.com/intro-to-pyenv/)有助于正确配置 pyenv。

步骤 1.1如果您在 zsh 中运行 pyenv 时遇到问题,请使用这篇文章( https://github.com/pyenv/pyenv/issues/1446 )。

步骤 1.2 一旦你运行了 python 3.8.5 版,你可以通过运行来检查python -V它应该输出:

Python 3.8.5

步骤 2 通过安装 virtualenvpip install virtualenv

步骤 2.1 通过运行创建虚拟环境virtualenv ENV

步骤 2.2 通过运行激活该虚拟环境source ENV/bin/activate

tensorflow-2.4.1-py3-none-any.whl第 3 步安装位于此公共 google 驱动器链接https://drive.google.com/drive/folders/1oSipZLnoeQB0Awz8U68KYeCPsULy_dQ7的 tensorflow 轮

步骤 3.1 假设您只是安装了轮子以 pip install ~/Downloads/tensorflow-2.4.1-py3-none-any.whl在您激活的虚拟环境中运行下载

第 4 步键入 python,它将>>>在您的终端中显示并键入

>>> import tensorflow
>>>

如果没有“zsh 非法硬件指令”错误,你应该好好去。

注意:如果您使用的是 anaconda,上述方法也可以使用。您可以跳过虚拟环境步骤(假设您通过 Conda 激活了虚拟环境),直接进入pip install上述步骤(步骤 3 及之后的步骤)。

于 2021-07-01T17:06:04.547 回答
4

Python3 在 M1 中附带了 2 个架构。

$ file $(which python3)
# If you installed python through Homebrew or Anaconda, deactivate your conda env, then run this line instead:
# $ file $(which /usr/bin/python3)
/usr/bin/python3: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e]
/usr/bin/python3 (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/python3 (for architecture arm64e): Mach-O 64-bit executable arm64e

在这里,指定使用哪一个非常重要。您可以通过安装这样的脚本来做到这一点:

arch -arm64 bash install_venv.sh my_tf_env

如果您有多个 python 安装,请使用:

arch -arm64 bash install_venv.sh --python=/usr/bin/python3 my_tf_env

您可以替换my_tf_env为您选择的任何其他名称/路径。

于 2021-02-04T19:50:35.350 回答
1

我遇到过同样的问题

这是因为M1芯片。现在有一个预发布版本,可为 macOS 11.0+ 提供硬件加速的 TensorFlow 和 TensorFlow 插件。通过 Apple 的 ML Compute 框架,M1 Mac 和基于 Intel 的 Mac 支持本机硬件加速。

需要安装支持 M1 芯片的 TensorFlow 只需拉取这个tensorflow macos 仓库并运行 ./scripts/download_and_install.sh

于 2021-06-25T17:13:08.400 回答