Tensorflow-GPU的安裝及確認 ( Win 10 )
安裝前請先確認是否安裝Anaconda,若仍無安裝可參閱”Anaconda的安裝”
年前跟老婆申請了一台筆電,就是為了方便日後進行DL運算使用,過年後拿到電腦後,便著手來進行tensorfloe-GPU的安裝,參考了前人的一些步驟流程,仍然遇到一些安裝上面的問題,雖說過了一個多月了,還是想把它紀錄下來,以後若要重新安裝也可以回頭來看看怎麼處理遇到的問題。
安裝流程
確定顯卡型號
由於目前預算上考量,也沒辦法選擇最頂級的獨顯筆電,因此當初在考量筆電上面,便以搭載NVIDIA GeForce GTX1060 6G 獨顯,記憶體能擴充至32GB的筆電為考量。在進行後面各項安裝前,獨顯的型號必須優先考慮,因為CUDA、CudNN及Tensorflow-GPU的各版本間並沒有廣泛的互相支援1 ,必須要按照對應版本安裝才不會有問題。
CUDA
首先先至NVIDIA CUDA官網下載
此處選取系統平台進行安裝的是CUDA最新版本,此版本並未支援您的顯卡,則必須到右下角的 " Legacy Releases" 中尋找對應版本進行安裝
根據許多前輩們指出,進行network安裝很容易出現問題,因此也建議大家安裝時候進行local安裝
這樣看似簡單的步驟,我仍然在安裝過程中遇到一點麻煩的狀況2。
CudNN
進入CudNN頁面進行下載前,必須先加入NVIDIA Developer Program
加入會員並且登入後,即可選擇相對應的版本下載,下載完成後建立一個新的資料夾(此處範例 C:),並將下載的壓縮檔解壓縮至此。並確認資料夾內cudnn64_7.dll路徑 ( 此初應為 C:)
至「編輯系統環境變數」>「環境變數」,進行環境變數的變更
選取Path進行編輯,在行末加入 " :; " (引號不須加入,但裡面的分號要留著)後按下確認。
安裝虛擬環境
先至命令提示字元中切換成我們要的資料夾( C:)後輸入: conda create --name tensorflow-GPU pyhton=3.5 anaconda
一陣子後畫面會問你Proceed ([y]/n)?
按下y後完成虛擬環境的安裝
安裝完成後我們還要有一個執行此虛擬環境的指令 activate tensorflow-GPU
執行後,在C:(tensorflow-GPU) 即代表已成功啟用虛擬環境。
安裝tensorflow GPU版本
此步驟依然要選擇你安裝的CUDA、CudNN應該配合tensorflow的版本來進行安裝,一般要安裝最新的版本,直接打以下的指令即可 pip install tensorflow-gpu
但若要指定版本進行安裝則要輸入以下指令 pip install tensorflow-gpu==1.12
安裝keras
pip install keras
當我們完成以上步驟,原則上應該都已經將所有工具安裝完成了,但是為了避免再使用的時候才驚覺安裝出現問題,我會建議先做一輪檢查。
- 先確認各套件均安裝完成且沒有版本衝突 在jupyter notebook中先嘗試匯入所有套件
1 | import tensorflow as tf |
當初我也是信誓旦旦覺得一定沒問題,但是到了這個步驟卻怎麼樣都會出現
Failed to load the native TensorFlow runtime
這樣的traceback,後來找了許久也算是解決了這個莫名的問題3。
- 確認tensorflow版本 在jupyter notebook中輸入並執行以下code
tf.__version__
即可出現版本
- 最後確認tensorflow是否正確使用GPU 輸入以下code進行測試
1 | # Creates a graph. |
在jupyter notebook上跑完之後僅會出現答案, 此時要轉到命令提示字元上看會發現如下畫面
即可確定tensorflow的確是使用GPU進行運算
進行到此,總算是真的完成了整個tensorflow-GPU版本的安裝,也恭喜完成了一項艱鉅的任務啊啊啊啊啊啊啊啊XDDDDDD
註釋
TensorFlow與CUDA、CudNN之版本對照表 Nvidia GPU與CUDA之版本對照表 (2019.03.26後記) 在上面的連結中,官方建議的版本搭配為 : TensorFlow 1.12 + CUDA 9 + CudNN 7在上述各種測試當中,也似乎都可以運作,沒有問題 但是實際再跑CNN Model時卻出現 Traceback
Error : Failed to get convolution algorithm.This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
許多建議都是將 TensorFlow 降版到 1.8 ,但這實在很奇怪,我自己也希望使用較新版本,因此尋找許久終於看到一線曙光。看來 CudNN 7.0上述的搭配上面會出現無法兼容的狀況,而且不是特例。許多人建議將CudNN升級至 7.4版本便可解決。(這的確解決了我的問題XD)↩︎在安裝時一直會出現錯誤訊息如下 : 我嘗試過許多種方式 (關掉內顯、重新安裝讀顯驅動... ),這樣的訊息仍然會依直跳出,最後我的解決方法是無視。而最後也證實這樣的方式沒有使用上的問題。↩︎
導入Keras、TensorFlow 時出現:Failed to load the native TensorFlow runtime.↩︎