经验帖|M1芯片的MacBook pro如何安装Tensorflow【亲测有效】

去年年底入手了MacBook pro,想着好好配置环境进行“深度学习”,然而2022年开年便在安装tensorflow的道路上摸爬滚打、遍体鳞伤。所幸,整合了各处咨讯外加自己探索,终于成功装好了Tensorflow!

一、前情提要

  1. 电脑已经安装了anaconda,python为3.9版本,日常编程用的是pycharm (community)。
  2. 通过“pip install tensorflow”指令可以安装,但在import的时候会提示“zsh: illegal hardware instruction python”。
  3. 尝试了降低tensorflow版本等多种方法,依然显示import失败。

二、miniforge3环境安装

  1. 下载miniforge3,地址:https://github.com/conda-forge/miniforge/#download
  2. 在终端进入下载文件所在的文件夹,执行如下命令:
bash Miniforge3-MacOSX-arm64.sh

并按照指示点击“Enter”键进行安装。

三、检查安装

  1. 此时默认应该是在(base)环境,输入which python检查路径,如果路径中包含“miniforge3”则已切换。
  2. 若还未切换,需要进行环境的转换:
XX/miniforge3/bin/conda init zsh

miniforge3前面的路径名称需要根据下载文件放置的位置自行判断。

  1. 此处可能需要重启终端完成切换。

四、新建环境

  1. 当环境切换到miniforge3了之后,需要新建环境安装tensorflow了。我给此环境的命名是“tf”,python版本是3.8。
conda create -n tf python=3.8
  1. 接着激活此环境
conda activate tf
  1. 最后执行以下命令进行安装
pip install --upgrade --force --no-dependencies https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_addons_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl

静静等待,直到安装完成。

五、检查

  1. 此时输入“import tensorflow”,可能会出现“No module named XXX”的错误出现,此时将无法找到的包手动安装即可解决问题。
  2. 最后使用如下代码对tensorflow进行测试:
import tensorflow as tf
from tensorflow import keras
import time
print(tf.__version__)
mnist = keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = keras.models.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(128, activation='relu'),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

start = time.time()

model.fit(x_train, y_train, epochs=5)

end = time.time()

model.evaluate(x_test, y_test)
print(end - start)

若最终输出结果,即可验证安装成功!
在这里插入图片描述
最终anaconda里有两个环境,其中一个是tf,含有tensorflow和其他一系列辅助功能包。

你可能感兴趣的:(经验帖,自然语言处理,机器学习,人工智能)