從上篇的 keras 安裝 在我的環境是失敗的經驗, 似乎對 mac 比較不友善

from tensorflow.keras import models

network = models.Sequential()

在這一行一直出現TypeError,原本以為是 python 或 numpy 的版本等衝突,換了幾個組合, 最後才發現原因在於我透過 conda 安裝的 tensorflow 版本不能用在 Apple Mac M1 上。

arm64 : Apple Silicon

看到 Apple 的 Getting Started with tensorflow-metal PluggableDevice 安裝了 Miniforge 照著做,最後建立虛擬環境(據說 tensorflow 在 python v3.8 比 v3.9來得快)

% conda create -n tf python=3.8
% conda activate tf
% conda install -c apple tensorflow-deps
% python -m pip install tensorflow-macos
% python -m pip install tensorflow-metal

最後的環境版本

import sys
import tensorflow as tf

print(f"TensorFlow v{tf.__version__}")
print(f"keras v{tf.keras.__version__}")
print(f"python {sys.version}")
numGPUs = len(tf.config.list_physical_devices('GPU'))>0
print("GPU is", "available" if numGPUs else "NOT AVAILABLE")
print()
TensorFlow v2.9.2
keras v2.9.0
python 3.8.13 (default, Mar 28 2022, 06:13:39) 
[Clang 12.0.0 ]
GPU is available

DONE !