win10安裝cuda與cudnn相關問題
阿新 • • 發佈:2018-12-20
win10安裝cuda與cudnn相關問題
在入坑tensorflow之後突然發現自己的弱雞筆記本竟然有一張獨顯N卡(Geforce 930MX),於是忍耐不住就想使用gpu加速。這兩天踩了很多坑,最終才跑通,在這裡mark一下流程。
安裝流程
- 安裝cuda;
- 安裝cudnn;
- 安裝tensorflow-gpu(如果已經安裝了tensorflow,先解除安裝)。
安裝cuda
安裝流程
可以自己看一下官方教程,比較詳細:cuda安裝官方教程 。
- 檢查自己顯示卡是否符合要求,點這裡(自己顯示卡版本可以在“控制面板->裝置管理器->顯示介面卡”中檢視);
- 下載cuda安裝工具包,下載連結(建議下載local版,網路版如果安裝失敗每次都需要重新下載安裝檔案);
- 開啟下載的檔案,根據提示安裝(建議預設安裝目錄)。
安裝問題
Visual Studio(VS) Intergration安裝失敗
這是最常見的一種安裝失敗的原因。感覺一切跟vs相關的環境配置都有毒。
簡單解決辦法
最簡單解決辦法是選擇自定義安裝,不選擇Visual Studio(VS) Intergration的安裝。理論上來說這個部件用於跟vs整合,如果不需要使用vs開發,應該不裝也沒有問題(我沒有試過)。但是無法執行官方給的測試示例程式,因為這些示例程式需要vs編譯。
完整解決辦法
參見連結完整解決辦法。我按照連結裡的步驟走,vs裡面仍然不能新建cuda專案,但是確實可以編譯運行了。
測試安裝
測試步驟
- 開啟命令列,輸入
nvcc -V
,應該可以看見cuda版本資訊; - 進入目錄
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\1_Utilities
,這是預設安裝目錄,如果自定義目錄自己找到就行; - 分別將裡面的deviceQuery專案與bandwidthTest專案用vs開啟,並編譯執行,如果執行成功則安裝成功。
可能出現問題windowscudaGetDeviceCount returned 30 -> unknown error Result = FAIL
這是在跑deviceQuery示例時的問題。
這個問題很少見,我在網上基本沒有找到解決方案,零星的一點相關資訊也都是linux系統的。最後我終於發現這是驅動的問題。只需要開啟Geforce Experience安裝自己顯示卡的驅動,然後就可以成功跑通示例程式啦。
因為我是Geforce系列的顯示卡,其他系列可能不一樣,但是應該都是隻要裝上驅動就可以了。
安裝cudnn
參考官方教程。
- 下載cudnn,下載連結;
- 下載後解壓,將目錄下的檔案複製到
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())
出現下圖類似結果就成功啦: