# 在 M1 Mac 安裝 GPU 版的 Tensorflow (Intel Mac 也可以)
![mac_tf_gpu](https://hackmd.io/_uploads/S1M30N3Bt.png)
## 1. 安裝 `Anaconda`
請到 [Anaconda 官方下載點](https://www.anaconda.com/download), 下載安裝給 M1/M2 等 Apple 晶片的版本 (目前是叫 `64-Bit (M1) Command Line Installer` (自然下載圖形面版的也可以)。
接著到終端機中, `cd` 進去剛下載這個檔案的地方, 一般都是
```
cd ~/Downloads
```
然後執行剛下載的檔案 (自然依下載的時間, 你的檔名可能不同):
```
sh Anaconda3-2024.02-1-MacOSX-arm64.sh
```
## 2. 安裝 `Xcode Command Line Tools`
這是依[這裡的安裝建議](https://github.com/apple/tensorflow_macos), 去安裝 [XCode Command Line Tools](https://developer.apple.com/download/more/?=command%20line%20tools)。雖然我不確定這次會不會用到, 但我們早晚會用上, 不如就先來安裝。
## 3. 建立虛擬環境
現在我們就有 `conda` 的安裝環境, 所以做個虛擬環境, 比方說要叫 `tf2`, 指定 Python 用 3.10 版就是這樣子:
```
conda create -n tf2 python=3.10
```
然後進去這個虛擬環境:
```
conda activate tf2
```
## 4. 安裝 `TensorFlow`
接著下來我們就要依 [Apple 安裝指引](https://developer.apple.com/metal/tensorflow-plugin/), 來安裝 `TensorFlow`。
首先是安裝 TensorFlow 的相依套件。
```
conda install -c apple tensorflow-deps
```
再來是安裝 `TensorFlow` 及 `Tensorflow-Metal Plugin`:
```
pip install tensorflow-macos
pip install tensorflow-metal
```
## 5. Intel Mac 也可以
Intel Mac 如果使用 AMD GPU 也是可以的, 而且用 Anaconda 就好, 不一定要 `miniforge`。
唯一的重點是要 Big Sur 版 (macOS 11.x), 然後 Python 一定要 3.8 版, 還要在終端機下個指令:
```
export SYSTEM_VERSION_COMPAT=0
```
不然可能會對你的系統辨識錯誤, 還以為你還在用 macOS 11.x 之前的版本。接著就是
```
pip install tensorflow-macos
pip install tensorflow-metal
```
然後就有 GPU 版的 TensorFlow 了! 可以執行這兩行試試:
```python
import tensorflow as tf
tf.test.gpu_device_name()
```