1. 程式人生 > >windows10下安裝Tensorflow+Keras+VS2015+CUDA8.0 GPU加速

windows10下安裝Tensorflow+Keras+VS2015+CUDA8.0 GPU加速

關於keras:

Keras是對Tensorflow或者Theano的再次封裝,不需要關注那麼多的底層細節,使用更簡單。
Tesorflow與theano可以使用Nvidia GPU進行加速,使用CUDA進行加速,速度會快很多。

該文是在參考了近10篇博文,以及在安裝過程中遇到並查找了各種問題的解決辦法後寫的,參考連結貼在了文末,文中的圖片部分來自其他博主,部分來自自己的截圖。可能遇到的一些問題在文中標識了出來,希望對大家有用!下面開始正文。

一:配置深度學習環境所需要的工具和軟體包:

  1. Visual Studio 2015:使用 C/C++編譯器和 SDK。
  2. Anaconda3-2018.12-Windows-x86_64.exe:一個整合Python科學計算環境。
  3. CUDA 8.0.61 (64-bit):CUDA 是一種由 NVIDIA 推出的通用平行計算架構,該架構使 GPU 能夠解決複雜的計算問題
  4. cuDNN v6.0 (April 27, 2017), for CUDA 8.0:用於加速卷積神經網路的運算。
  5. Keras 2.0.5 with three different backends: Theano 0.9.0, Tensorflow-gpu 1.9.0:Keras 以 Theano、Tensorflow 或 CNTK 等框架為後端,並提供深度學習高階 API。

二:安裝Visual Studio 2015

  • 安裝Visual Studio 2015 Community Edition Update 3 w. Windows Kit 10.0.10240.0 ,這裡我們只需要選擇Visual C++部分和 windows 10 SDK 部分即可。
  • 下載地址:https://www.visualstudio.com/vs/older-downloads
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 基於我們安裝 VS 2015 的地址,配置環境變數
  • 定義系統環境變數(sysenv variable)INCLUDE 的值為 C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt
  • 定義系統環境變數(sysenv variable)LIB 的值為 C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x64; C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64

二:安裝Anaconda

Anaconda包含很多科學計算的包,例如numpy、scipy等等,可以為你省去不少麻煩,它的官網在這裡:https://www.anaconda.com/download/ ,下載最新的Anaconda,Python 3.7 version,64bit。
在這裡插入圖片描述
按照指引安裝就可以,在Install for那個介面,建議選擇【All Users(requires admin privileges)】那個選項。在如下那個介面中,把兩個選項都勾上(預設是勾上的)。因為我很早之前就已經安裝過Anaconda了,這裡引用了文章開頭連結中的圖片。
這裡還有一個安裝過程中可能用得上的連結:關於安裝Anaconda3各種各樣的問題,吐血總結
在這裡插入圖片描述

三:安裝CUDA 8.0.61 (64-bit)

這裡我使用了8.0版本,也是網上大多數安裝教程所使用的版本(在剛開始使用10.0最新版本遇到了版本不一致問題,結果又重新下載安裝了8.0版本)
從英偉達網站下載 CUDA 8.0 (64-bit):https://developer.nvidia.com/cuda-80-download-archive
在這裡插入圖片描述
下載完成後安裝:注意 下圖中的路徑是安裝包臨時解壓的路徑,後續安裝還有另外一個路徑,這兩個路徑一定不要相同!!!
若將臨時解壓目錄和安裝目錄設定成一樣的了,導致安裝結束,臨時解壓目錄被刪除,所以安裝目錄也被刪除了,所以會導致安裝後的目錄莫名消失
建議安裝時選擇預設即可!
在這裡插入圖片描述

執行安裝包:建議選擇Custom(即中文的自定義安裝),只需要安裝如圖CUDA選單下的工具。
在這裡插入圖片描述
點選NEXT,下圖中的安裝路徑,和剛開始的第一個路徑一定不要相同。選擇預設C盤路徑也可以,大概在2個G左右。
在這裡插入圖片描述
安裝結束後,關閉即可。
在這裡插入圖片描述
接下來設定環境變數:下圖中的CUDA_PATH為安裝後自動配置好的,我們只需在上面的Path中,加入如下四個變數即可:

%CUDA_PATH%\bin
%CUDA_PATH%\libnvvp
%CUDA_PATH%
%CUDA_PATH%\lib\x64

最後在cmd裡輸入 echo %path% 就能檢視你的是否新增進環境變量了
在這裡插入圖片描述

四:下載cuDNN

cuDNN可以在前面GPU加速基礎上大概再提升1.5倍的速度,它由nVIDIA開發。可以到nVIDIA官網https://developer.nvidia.com/rdp/cudnn-archive下載對應版本,我下載的是v6.0版本(網上教程大多是6.0版本,貌似是因為不易出現版本不一致的問題)。下載之前需要註冊填寫問卷,耐心填完即可。
在這裡插入圖片描述

  • 下載完成後解壓縮。裡面有bin、include、lib三個目錄,將三個資料夾複製到CUDA對應資料夾(實際上是將cuDNN這三個目錄中的檔案,新增到CUDA對應bin、include、lib資料夾中,CUDA對應資料夾不需要刪除,也不會有檔案被覆蓋),預設資料夾在:C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v8.0

  • 配置完成後,我們可以驗證是否配置成功,主要使用CUDA內建的deviceQuery.exe 和 bandwithTest.exe:首先啟動cmd,cd到安裝目錄下的C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\demo_suite,然後分別執行bandwidthTest.exe和deviceQuery.exe,應該得到下圖:
    在這裡插入圖片描述
    在這裡插入圖片描述
    如果以上兩步都返回了Result=PASS,那麼就算成功啦。
    如果出現:CUDA driver version is insufficient for CUDA runtime version,可能是由於cuda和cuDNN版本不一致導致的(我在這裡使用的是CUDA8.0和cuDNNv6.0)
    更詳細的對應關係(windows)參考如下:
    在這裡插入圖片描述

五:下載tensorflow

pip安裝方式

保持網路連線,開啟cmd或者Anaconda Prompt,輸入:pip install tensorflow-gpu。然後耐心等待安裝。如果安裝成功了,跳過手動安裝方式。

手動安裝方式

如果線上從pip安裝tensorflow總是失敗,那就下載python的whl包,本地安裝的。下載地址: http://mirrors.aliyun.com/pypi/simple/tensorflow-gpu/。 按照上圖對應關係找到對應的whl檔案並下載。我使用了1.9.0版本可以正常使用。
在cmd中輸入:pip install c:\Users\Downloads\tensorflow_gpu-0.12.0rc1-cp35-cp35m-win_amd64.whl。等待安裝完成即可(這裡install 後面是你檔案下載路徑)這裡會自動 uninstall 之前的錯誤版本。
在這裡插入圖片描述

如何驗證是否安裝成功

開啟cmd在命令列中輸入:python,再輸入:

import tensorflow as tf
sess = tf.Session()
a = tf.constant(1)
b = tf.constant(2)
print(sess.run(a + b))

若正確列印結果3,則安裝成功。

六: 安裝keras

開啟Anaconda Prompt或者cmd,輸入:pip install keras
回車,安裝就開始了,它會順帶把Theano也給安裝上,但是這裡安裝的Theano版本比較老,是Theano-0.8.2。我們使用tensorflow作為後端,而不是theano,所以不用理會它,讓它裝上就好了。

開啟cmd在命令列中輸入:python,再輸入:import keras
若如下圖顯示,則安裝成功。

在這裡插入圖片描述

七:總結

安裝keras用了一天的時間,遇到了大大小小的問題。在這裡我將所有的參考連結一一貼出,並對作者表示感謝!