在 Apple iMac 上安裝 Tensorflow (使用虛擬環境)

在上一篇 在 Windows & Mac 環境上安裝 Jupyter Lab 中有提到,因為要執行深度學習模型的訓練,所以拿了閒置的 Mac 電腦安裝了 Jupyter Lab 的環境,在這篇文章中,要記錄如何在 Mac 上安裝 Tensorflow 的執行步驟。


執行環境說明

OS : macOS 12.4 

CPU : Apple M1

Python 3.11.7


安裝 Tensorflow

為了怕干擾現有執行環境,這邊是在虛擬環境中安裝 Tensorflow,若不需使用虛擬環境底下前兩個步驟可以不執行,相關步驟如下說明。

  • 創建虛擬環境(tfenv 這個名稱可自行調整)。
    python3 -m venv ~/Developer/tfenv
    
  • 切換到虛擬環境。
    source ~/Developer/tfenv/bin/activate
    
  • 安裝 tensorflow 和其它常見套件。
    python -m pip install -U pip
    
    pip3 install tensorflow==2.15.0
    pip3 install tensorflow-macos==2.15.0
    pip3 install tensorflow-metal==1.1.0
    
    # Mac 移除所有套件
    # pip freeze | grep -v "^-e" | xargs pip uninstall -y
    
  • 記得安裝完要先重啟一下 Kernal,否則會有一些奇怪的錯誤訊息,例如 Image transformations require SciPy. Install SciPy. 等等。
  • 若要離開虛擬環境。
    deactivate
    
  • Jupyter Lab 上驗證,以 CNN 模型運算當作比對,可由 55秒 降低到 15秒,但還是比 colab 的速度還差(10秒內),但應該已經比沒有 CPU 的電腦還好了。
    import tensorflow as tf 
    tf.config.list_physical_devices('GPU') # 列出可用設備
    tf.device("/device:GPU:0")
    tf.test.gpu_device_name()
    


Jupyter Lab 使用虛擬環境

  • 進入虛擬環境,然後安裝 ipykernel。
    pip3 install ipykernel
    
  • Jupyter 增加新的 Kernel,名稱為 tfnev。
    python -m ipykernel install --name tfenv
    
  • 列出可以使用的 Kernel,檢查是否成功。
    jupyter kernelspec list
    
  • 若要移除 Jupyter Lab 內的虛擬環境 Kernel。
    jupyter kernelspec uninstall tfenv
    
  • 切換 Kernel。


疑難雜症

執行 tf.test.gpu_device_name(),雖可取得 GPU 的資訊,但會拋回錯誤訊息,可不允理會,參考此篇的說明,實際上還是會跑 GPU 的運算的。

Jupyter Lab 執行畫面

使用 CPU 跑 CNN

使用 GPU 跑 CNN


參考網站

留言