Win10系統從NVIDIA driver版本匹配開始設定Keras訓練環境

2020-10-22 15:00:36

Win10系統從NVIDIA driver版本匹配開始設定Keras訓練環境

由於最近只能使用Windows系統訓練神經網路,但是程式總是不呼叫GPU而拖慢了工作進度,因此踏上了設定環境的不歸路,在此記錄一下設定環境的真正流程和我遇到過的所有坑,希望對大家有所幫助。


一、確定要安裝的TensorFlow-GPU、CUDA、cudnn的版本

根據要安裝的tensorflow-gpu版本檢視需要安裝的CUDA和cudnn版本
在這裡插入圖片描述
例如,我需要安裝的是tensorflow-gpu 1.14.0,因此需要安裝CUDA10,和cuDNN7.4

二、安裝NVIDIA顯示卡驅動

1.檢視顯示卡驅動版本是否滿足CUDA版本的要求

可在這裡檢視
在這裡插入圖片描述

NVIDIA驅動版本檢視方式:開始選單——>NVIDIA control panel——>系統資訊
在這裡插入圖片描述

2.更新驅動版本

若顯示卡驅動不滿足要求,則需要更新驅動版本,步驟如下:
(1)檢視顯示卡型號:如上圖所示(開始選單——>NVIDIA control panel——>系統資訊)
(2)在此處下載顯示卡型號對應的驅動版本。Windows驅動程式型別,也在上圖系統資訊裡檢視。最新欄裡選擇Studio驅動程式。下載後安裝即可
在這裡插入圖片描述

三、安裝CUDA

(1)在此處選擇需要的CUDA版本,下載並安裝。(選擇精簡安裝,取消勾選建立快捷方式)
在這裡插入圖片描述

安裝失敗解決辦法

若安裝失敗如下圖原因
在這裡插入圖片描述
則選擇自定義安裝,取消勾選Visual Studio Intergration後再進行安裝
在這裡插入圖片描述
(3)驗證CUDA是否安裝成功

進入CUDA的安裝路徑,並複製此路徑
在這裡插入圖片描述
進入cmd命令窗,切換到安裝目錄下,執行nvcc -V指令,如下圖所示即安裝成功
在這裡插入圖片描述

四、安裝cuDNN

這裡下載cuDNN與CUDA對應的版本。(下載時需要自行註冊和登入賬戶),下載後解壓資料夾,cuDNN安裝過程如下:
若cuda 安裝目錄:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
(1)把 cudnn 解壓包下的:cuda\bin\cudnn64_7.dll 複製到:cuda安裝目錄\bin
(2)把 cudnn 解壓包下的:cuda\include\cudnn.h 複製到:cuda安裝目錄\include
(3)把 cudnn 解壓包下的:cuda\lib\x64\cudnn.lib 複製到:cuda安裝目錄\lib\x64
說明:複製過程不會有重複檔案需要覆蓋,如果有,說明cuDNN下載的版本有問題,請自行檢查,可在這裡參考

為防止出現未知錯誤,cudnn安裝完成後,把 3 個路徑加入 環境變數\使用者變數\path 中:
(1)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
(2)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
(3)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64

環境變數新增方法:

控制面板——>系統——>高階系統設定
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

(2)驗證cuDNN安裝是否成功
進入下圖路徑,分別執行bandwidthTest.exe和deviceQuery.exe兩個程式,如下圖便是安裝成功
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

五、安裝TensorFlow-gpu

(1)開啟Anaconda Prompt(conda -V命令可檢視anaconda版本,conda info --envs命令可檢視已存在的虛擬環境資訊)
在這裡插入圖片描述

(2)建立虛擬環境

conda create -n env_name python=3.6  # env_name是自己命名的虛擬環境名

(3)進入虛擬環境

conda activate env_name

(4)安裝tensorflow-gpu版本
此處千萬不要安裝tensorflow的cpu版本,不然程式預設呼叫cpu版本,安好後再解除安裝cpu版本會導致很多錯誤,我就是栽在這裡重安裝了好幾次。

conda install tensoflow-gpu=1.14

驗證tensorflow-gpu是否安裝成功:

在Anaconda Prompt中輸入如下命令

>>> python
>>> import tensorflow as tf
>>> print(tf.__version__)
>>> print(tf.test.is_gpu_available())

若如下圖所示,則tensorflow-gpu安裝成功
在這裡插入圖片描述

import tensorflow as tf 時報錯FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated;…(如下圖)

在這裡插入圖片描述
報錯原因:這是由於numpy1.19.1版本過高造成,需要降至1.16.0
解決辦法:退出python程式,重新安裝numpy1.16.0

>>> exit()
>>>pip install numpy==1.16

安裝numpy1.16時報錯:tensorflow 1.14.0 requires google-pasta>=0.1.6, which is not installed.(如下圖)

在這裡插入圖片描述
解決辦法:

>>>pip install google-pasta==0.1.6

在這裡插入圖片描述

六、在pycharm的python指令碼中呼叫GPU跑神經網路模型

新增設定好的虛擬環境的python直譯器

在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
p36是剛剛設定好的虛擬環境的資料夾
在這裡插入圖片描述
在這裡插入圖片描述
至此我們設定好的tensorflow-gpu已關聯到了當前專案


七、Inference

Windows 10 安裝 nvidia driver,cuda,cudnn,anaconda,tensorflow