1. 程式人生 > >win10安裝cuda與cudnn相關問題

win10安裝cuda與cudnn相關問題

win10安裝cuda與cudnn相關問題


在入坑tensorflow之後突然發現自己的弱雞筆記本竟然有一張獨顯N卡(Geforce 930MX),於是忍耐不住就想使用gpu加速。這兩天踩了很多坑,最終才跑通,在這裡mark一下流程。

安裝流程

  1. 安裝cuda;
  2. 安裝cudnn;
  3. 安裝tensorflow-gpu(如果已經安裝了tensorflow,先解除安裝)。

安裝cuda

安裝流程

可以自己看一下官方教程,比較詳細:cuda安裝官方教程

  1. 檢查自己顯示卡是否符合要求,點這裡(自己顯示卡版本可以在“控制面板->裝置管理器->顯示介面卡”中檢視);
  2. 下載cuda安裝工具包,下載連結(建議下載local版,網路版如果安裝失敗每次都需要重新下載安裝檔案);
  3. 開啟下載的檔案,根據提示安裝(建議預設安裝目錄)。

安裝問題

Visual Studio(VS) Intergration安裝失敗

這是最常見的一種安裝失敗的原因。感覺一切跟vs相關的環境配置都有毒。

簡單解決辦法

最簡單解決辦法是選擇自定義安裝,不選擇Visual Studio(VS) Intergration的安裝。理論上來說這個部件用於跟vs整合,如果不需要使用vs開發,應該不裝也沒有問題(我沒有試過)。但是無法執行官方給的測試示例程式,因為這些示例程式需要vs編譯。

完整解決辦法

參見連結完整解決辦法。我按照連結裡的步驟走,vs裡面仍然不能新建cuda專案,但是確實可以編譯運行了。

測試安裝

測試步驟

  1. 開啟命令列,輸入nvcc -V,應該可以看見cuda版本資訊;
  2. 進入目錄C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\1_Utilities,這是預設安裝目錄,如果自定義目錄自己找到就行;
  3. 分別將裡面的deviceQuery專案與bandwidthTest專案用vs開啟,並編譯執行,如果執行成功則安裝成功。

可能出現問題windowscudaGetDeviceCount returned 30 -> unknown error Result = FAIL

這是在跑deviceQuery示例時的問題。
這個問題很少見,我在網上基本沒有找到解決方案,零星的一點相關資訊也都是linux系統的。最後我終於發現這是驅動的問題。只需要開啟Geforce Experience安裝自己顯示卡的驅動,然後就可以成功跑通示例程式啦。
因為我是Geforce系列的顯示卡,其他系列可能不一樣,但是應該都是隻要裝上驅動就可以了。

安裝cudnn

參考官方教程

  1. 下載cudnn,下載連結
  2. 下載後解壓,將目錄下的檔案複製到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0對應目錄下(這是預設安裝目錄,自定義目錄的找到自己的目錄即可)。

安裝tensorflow-gpu

使用命令即可:

pip install tensorflow-gpu

也可以在github上下載後安裝,命令格式如下(不同版本具體內容不同):

pip install tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl

安裝完成後在命令列中開啟python,輸入以下指令檢視裝置:

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

出現下圖類似結果就成功啦:
裝置查詢結果