Apple MacBook M1 芯片 Anaconda安裝 Tensorflow Pytorch


@

MacBook Air M1芯片安裝Tensorflow踩坑

踩坑1:在mac m1上安裝tensorflow報錯“zsh: illegal hardware instruction”

環境: macOS Big Sur 11.5.1 + anaconda + python3.8

直接用 pip install tensorflow 安裝,能夠順利安裝tensorflow2.5.0,但是import tensorflow 的時候會報如上錯誤.

對此,查找了網上許多資料:
大概流程就是架構問題,但是問題博客基本是2020-12~2021-3月的解決方法了,應該不是最優的。
同病相憐:“zsh: illegal hardware instruction python” when installing Tensorflow on macbook pro M1

“zsh: illegal hardware instruction python” when Tensorflow on macbook pro M1
GitHub上的回音:Apple M1 chip - illegal hardware instruction #46178

截止2021-3月左右,網上時興的解決方法都是如此:
下載 安裝miniforge3然后修改配置文件。
MacBook m1芯片采用miniforge安裝python3.9

macOS M1(Apple Silicon) 安裝配置 Conda 環境

這應該得益於官方:
目前apple developer出了3行代碼的安裝教程:
https://developer.apple.com/metal/tensorflow-plugin/

踩坑2:ARM版本conda

蘋果提供的tensorflow僅支持python 3.8+,而python官網只有3.9+版本支持ARM。
我們的做法是:選擇通過ARM版conda創建python3.8虛擬環境,再使用創建的ARM python3.8安裝tensorflow.

廢話忽略:通俗的說就是,你想要一個蘋果公司的最好吃的蘋果,但是蘋果公司提供38號蘋果樹只能結普通蘋果,但是蘋果市場有39號的蘋果樹能結最好吃蘋果,而且支持嫁接給蘋果公司的蘋果樹。那我們的做法是,選市場里的39號蘋果樹培養一個結最好吃蘋果的38號蘋果樹,再把這個38號蘋果樹給蘋果公司種植,然后你就能得到最好吃的蘋果了。

廢話不多說,開干吧!

總結:國內技術貼上的各個教程都不盡相同,而且看的比較煩躁了,花了我5-6小時,搞得我都疑惑 :Anaconda目前為止還不支持M1芯片嗎?還是自己摸索下吧。本人也最煩配置參數和修改系統文件了。如下簡單粗暴的安裝大家可以參照,如有更優選擇,煩請告知。

第一種成功:下載miniforge3適配Python3.8+TensorFlow2.4.0

1. 下載ARM版Miniforge3

下載ARM版Miniforge3:選擇最新的arm64版本;

https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh

具體可以去GitHub看:
https://github.com/conda-forge/miniforge/#download
在這里插入圖片描述下載Miniforge3-MacOSX-arm64.sh到自己的Download目錄里:
終端cd Downlaod/后,開始運行腳本:

bash Miniforge3-MacOSX-arm64.sh

這里安裝開始,一定要慢慢回車,問題全部選擇yes.

因為這里我就踩坑了,選了個No,但是沒關系,可以重裝Miniforge3:具體終端里刪除相關文件就好了。具體操作如下:
rm -rf ~/miniforge3
rm -rf .conda
rm -rf .condarc
然后重新執行安裝命令:
bash Miniforge3-MacOSX-arm64.sh

安裝完成后重啟終端,然后輸入Python就可以看到Python 3.9了。

在這里插入圖片描述這樣miniforge就安裝好了。

2.創建虛擬環境

創建Python3.8虛擬環境並安裝TensorFlow:

conda create -n py38 python=3.8
conda activate py38

進入虛擬環境后,直接conda install 就能安裝TensorFlow庫了。
漫長的等待各個庫安裝完畢即可。
在這里插入圖片描述最后來驗證下吧!
在這里插入圖片描述

第二種成功:安裝了Anaconda的,目前可行的最簡單的conda install 方法: 低版本適配Python3.7+tensorflow2.0.0

小心坑:直接上會出錯哦

首先,官網下了Anaconda的MacOS版本:
這是python3.8版本
在這里插入圖片描述目前最新的版本是tensorflow2.5.0 ,下載:https://pypi.org/project/tensorflow/,支持3.6-3.8版本python.
根據提示安裝后,開始進入終端安裝tensorflow:
創建新的環境tensorflow:

conda create -n tensorflow_env python=3.8

激活環境:

conda activate tensorflow_env

然后直接安裝:

conda install tensorflow

后面報錯,就是當前是python3.8版本,conda下安裝只能支持3.5-3.7的,然后就重新裝了一個python3.7的環境好了。
在這里插入圖片描述

低配成功了

第二種嘗試成功:安裝低版本的tensorflow 2.0.0, python = 3.7,創建新的環境:

conda create -n tensorflow_env_py37 python=3.7
conda activate tensorflow_env_py37
# check your python version
python --version
# install
conda install tensorflow

# enter your python
python
# check tensorflow
import tensorflow as tf

需要等待一會,加載tensorflow,之后沒有報錯。

下面用官網的一個例子,測試下,可以正常運行。

import tensorflow as tf
# 載入MNIST數據集
mnist = tf.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 = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
             loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
# 訓練並驗證模型
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test,  y_test, verbose=2)

可以正常輸出結果。
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
這樣兩個各個版本的TensorFlow都可以擁有了。目前沒啥問題。

(最新)第三種成功:Python3.9 +TensorFlow2.5

Python2.4版本的bug有點多,還是直接上2.5.
前面已經安裝好了miniforge3,就好辦了。按照官方的三行代碼:https://developer.apple.com/metal/tensorflow-plugin/

step 1. 安裝miniforge3,創建conda環境。
安裝Tensorflow dependencies:

conda install -c apple tensorflow-deps

step 2. Install base TensorFlow

python -m pip install tensorflow-macos

這里下載的時間比較久了。
在這里插入圖片描述

step 3. Install tensorflow-metal plugin

python -m pip install tensorflow-metal

如果安裝pycharm,使用TensorFlow

pycharm是支持M1 芯片的,放心使用,就是選擇Python解釋器時,選擇你前面創建的虛擬環境即可。

在這里插入圖片描述

Anaconda上安裝pytorch

如果安裝Pytorch,進入官網https://pytorch.org/get-started/locally/選擇版本:官網給出了各種安裝方法。
在這里插入圖片描述

在前面安裝好miniforge3的基礎上,在Anaconda上的可以安裝Pytorch1.8.0版本。

conda install pytorch torchvision -c pytorch

在這里插入圖片描述

可以正常安裝。

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM