去年年底入手了MacBook pro,想着好好配置环境进行“深度学习”,然而2022年开年便在安装tensorflow的道路上摸爬滚打、遍体鳞伤。所幸,整合了各处咨讯外加自己探索,终于成功装好了Tensorflow!
一、前情提要
- 电脑已经安装了anaconda,python为3.9版本,日常编程用的是pycharm (community)。
- 通过“pip install tensorflow”指令可以安装,但在import的时候会提示“zsh: illegal hardware instruction python”。
- 尝试了降低tensorflow版本等多种方法,依然显示import失败。
二、miniforge3环境安装
- 下载miniforge3,地址:https://github.com/conda-forge/miniforge/#download
- 在终端进入下载文件所在的文件夹,执行如下命令:
bash Miniforge3-MacOSX-arm64.sh
并按照指示点击“Enter”键进行安装。
三、检查安装
- 此时默认应该是在(base)环境,输入which python检查路径,如果路径中包含“miniforge3”则已切换。
- 若还未切换,需要进行环境的转换:
XX/miniforge3/bin/conda init zsh
miniforge3前面的路径名称需要根据下载文件放置的位置自行判断。
- 此处可能需要重启终端完成切换。
四、新建环境
- 当环境切换到miniforge3了之后,需要新建环境安装tensorflow了。我给此环境的命名是“tf”,python版本是3.8。
conda create -n tf python=3.8
- 接着激活此环境
conda activate tf
- 最后执行以下命令进行安装
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
静静等待,直到安装完成。
五、检查
- 此时输入“import tensorflow”,可能会出现“No module named XXX”的错误出现,此时将无法找到的包手动安装即可解决问题。
- 最后使用如下代码对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和其他一系列辅助功能包。