Win10系統安裝tensorflow-gpu(按照步驟一次成功)

目錄

【前言】

【安裝過程】

1 查看是否支持GPU 

 2 安裝CUDA9.0

3  安裝cuDNN

4 安裝tensorflow-gpu

5 將tensorflow-gpu環境導入到Pycharm中

6 測試程序

【補充】


【前言】

1.tensorflow-gpu版本的安裝相對來說複雜一些,因爲需要考慮版本匹配的一些問題,很容易出問題,不過和前面安裝cpu版本的過程基本一致, 我用了幾個小時的時間最終安裝成功,下面和大家分享一下我的安裝過程。

2.安裝環境

操作系統:64位win10

GPU:GTX1050+CUDA9.0+cuDNN7.6.5

IDE:Anaconda、Pycharm

框架和解釋器:tensorflow-1.5.0-cp36-cp36m-win_amd64 + python3.6


【安裝過程】

1 查看是否支持GPU 

1.1 依次打開“控制面板-硬件和聲音-NVIDIA控制面板”,然後點左下角的“系統信息”,查看GPU型號,如下圖:

AMD的顯卡是不支持的,檢查顯卡的計算能力請訪問英偉達官網 。

1.2 參考TensorFlow官網對安裝GPU版本的需求說明,需要CUDA、cuDNN和英偉達GPU計算能力大於3的顯卡。

還可以查看GPU和軟件的版本對應關係,好多人在這裏踩了一個大坑,如圖:

 2 安裝CUDA9.0

CUDA是基於C語言的可以讓代碼直接在GPU中運行的控制語言,所以第一步需要安裝CUDA9.0,內含NVIDIA驅動程序(自定義安裝時可以選擇是否安裝驅動)。

好多人在這裏糾結該安裝哪個版本,其實不用太糾結,根據上面的匹配表選擇你想安裝的版本即可。我的顯卡驅動是9.2的,但是爲了匹配tensorflow版本,安裝了個CUDA9.0的,二者不衝突,而且安裝後能夠在控制面板裏看到。 

2.1 CUDA官方說明(感興趣可看一下)

下載地址:點擊這裏(win10 local安裝)

 

 選擇合適的版本下載,右面的是下載下來進行安裝,選這個即可,把下面的幾個需要下載的文件都下載下來,是exe可執行文件,如果發現不是可執行文件,注意覈查下載好的文件名,修改成“.exe ”。

2.2 安裝CUDA

幾個文件下載好之後挨個點擊進行安裝即可,會先檢查系統兼容性,然後選擇安裝方式。程序默認的精簡模式應該可以理解爲安裝所有東西,其中包括了我暫時不用的VS編譯器和顯卡驅動,所以我選擇的是自定義模式。

 接下來是選擇安裝路徑。在其他博文中看到有的人更改安裝路徑會出現一些問題,不能安裝完全,我沒試,直接按照默認路徑進行安裝的,這樣也便於下面配置環境變量,一路Next 直到完成即可。

其他的幾個patch直接運行安裝即可。

2.3 配置環境變量

安裝成功後在系統的環境變量中會自動添加兩個變量,如圖:

但是這還不夠,我們還需要再添加幾個系統變量(根據實際安裝版本和路徑添加,一樣版本和默認路徑的可直接複製粘貼):

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0

CUDA_LIB_PATH = %CUDA_PATH%\lib\x64 

CUDA_BIN_PATH = %CUDA_PATH%\bin 

CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64 

CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

添加完之後的樣子,如圖:

下一步在系統變量Path裏添加變量,雙擊Path添加如下變量(同樣根據實際路徑填):

%CUDA_LIB_PATH%

%CUDA_BIN_PATH%

%CUDA_SDK_LIB_PATH%

%CUDA_SDK_BIN_PATH%

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin 

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\common\lib\x64

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\bin\win64

2.4 檢驗是否安裝成功

打開cmd命令窗口,切換路徑(注意根據實際路徑)

cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite

分別運行以下命令

bandwidthTest.exe
deviceQuery.exe

若分別返回成功,則安裝成功,如圖:

3  安裝cuDNN

cuDNN是CUDA的庫,易於寫代碼。下載需要先註冊爲英偉達賬號,直接用社交網絡賬號登陸就行,然後按提示進行即可。

3.1 下載地址:點擊這裏

注意和前面的表格裏的版本要求相匹配,這裏我下載的是7.6.4,如圖

3.2 解壓下載好的文件

解壓後進入文件夾,按照下面的要求將文件放到相應的位置:

將.h .lib 和.dll 文件分別拷貝到cuda對應路徑下的include, lib/x64, bin 文件夾下,對應關係如下圖,下面是解壓的文件夾:

到這裏就安裝好了CUDA9.0及其對應的cudnn文件,艱難的路程已經基本走完。

4 安裝tensorflow-gpu

之前使用Anoconda安裝了cpu版本的tensorflow,這裏還藉助Anaconda進行安裝,會大大簡化安裝工作,條理清楚。Anaconda的安裝很簡單,可以參考這篇博文:點擊這裏

4.1 創建環境

打開Anaconda Prompt

在命令窗口輸入命令創建環境

conda create -n tf-gpu python=3.6

其他三個常用命令

#刪除環境:
conda env remove -n tensorflow
#激活環境:
activate tensorflow
#取消激活:
deactivate

4.2 下載安裝tensorflow-gpu

激活tf-gpu環境,進行安裝

activate tf-gpu

(1)方法一:在線安裝,使用pip下載

 運行下面的命令下載並安裝

pip install --ignore-installed --upgrade tensorflow-gpu

(2)方法二:離線安裝(可以選擇自己想要的版本,並且使用下載工具下載會更快)

 tensorflow-gpu下載地址:點擊這裏

下載的版本要和之前的表格對應適配,我下載的版本:tensorflow-1.5.0-cp36-cp36m-win_amd64.whl

下載好之後,在當前環境下切換到下載目錄,使用以下命令進行安裝

pip install tensorflow安裝包名稱

提示:如果還是提示需要更新pip的話按照提示進行更新再重新安裝即可,更新:

python -m pip install --upgrade pip

至此,tensorflow已經安裝完,可以使用python查看一下:

在當前環境下運行python:

python

然後打印tensorflow的版本

import tensorflow as tf
tf.__version__

然後會打印出如下結果


5 將tensorflow-gpu環境導入到Pycharm中

依次點擊File-settings

然後按照下圖,打開Show All

按照下圖順序,將anaconda中envs裏tf-gpu環境下的python添加 進去即可,可以使用Pycharm體驗GPU的運算速度了。

6 測試程序

這裏我運行了一個風格遷移的程序,使用CPU版本的tensorflow用時爲二十多分鐘,使用GPU版本跑同樣的程序,只用了5分鐘,速度確實喜人!

一開始運行過程中還出現了一些錯誤,無非是缺少了一些庫啥的,按照提示安裝上就可以了,其中有倆錯誤記錄一下:

(1)AttributeError: module 'scipy.misc' has no attribute 'imread'報錯問題

網上的解決辦法都說沒有安裝PIL第三方庫,庫名現在爲Pillow,推薦直接使用命令pip install Pillow進行安裝。實際上我已經安裝了,但還是繼續報錯AttributeError: module 'scipy.misc' has no attribute 'imread'。

最後發現是scipy的版本問題, 降級到scipy==1.2.1就可以完美解決了。

pip install scipy==1.2.1

(2)運行時出現 shed with exit code -1073740791 (0xC0000409) ,如圖

有其他博主說的減小batchsize,但該方法未能解決;查到是顯卡內存不足的問題,在程序中添加如下代碼即可解決:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"

如圖


【補充】

這裏可以查看CDA 版本和驅動的匹配關係:點擊這裏

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章