本文探討在Windows作業環境下如何安裝TensorFlow,2.x版後安裝不再分CPU、GPU版本,直接執行下列指令,即可同時支援 CPU/GPU:

pip install tensorflow

執行時若出現『ImportError: DLL load failed: The specified module could not be found.』錯誤,就必須額外安裝MSVC 2019 runtime (https://aka.ms/vs/16/release/vc_redist.x64.exe),如果還有問題,可改用下列指令,安裝的版本可能舊一點:

conda install tensorflow

配備GPU可以在模型訓練時快上許多倍,目前TensorFlow只支援NVidia的顯示卡,要獲得NVidia GPU支援,除了驅動程式外,還要安裝以下工具箱:

  1. CUDA Toolkit
  2. cuDNN

相關工具的版本必須同時符合TensorFlow的版本、NVidia顯卡的限制,否則執行時會有錯誤發生,當TensorFlow升級時,版本也要隨之改變。建議顯卡不是GTX-1XXX或RTX等級以上,就不要安裝了,免得執行時常常發生記憶體不足的狀況,安裝時務必參考TensorFlow與NVidia官網的指引:

  1. https://www.tensorflow.org/install/gpu?hl=zh-tw
  2. https://developer.nvidia.com/cuda-toolkit-archive

安裝後的確認,可執行python,接著輸入import tensorflow,就可以看到是否有引用GPU函數庫。

另外,TensorFlow對GPU記憶體的垃圾回收(Garbage Collection)機制並不完美,因此,執行多個Jupyter Notebook常會出現GEMM錯誤:


表示GPU記憶體不足,因為Jupyter是一個網頁程式,即使關掉某一個Notebook檔案,網站仍然在執行中,並不代表該檔案的資源會被回收,通常要執行『Kernel > Restart』選單才會回收資源。另一個方式,就是限制GPU的使用配額,以下是TensorFlow 2.x版的方式,並不適用於1.x版:


也可選擇暫時不使用(Disable) GPU: