[機器學習 ML NOTE] Windows 搭建Tensorflow-GPU 環境(Anaconda + Tensorflow-GPU+ CUDA+ cuDNN)

GGWithRabitLIFE
雞雞與兔兔的工程世界
9 min readOct 13, 2018
我之前在我自己的筆電上要安裝 Tensorflow-GPU的時候遇到了非常多的問題,花了我快整天的時間搭建環境(真的好想要直接組一台HPC搭建Linux系統啊~~~~),剛好我回家發現我爸的筆電也有獨顯,所以直接用我爸的電腦來安裝 Tensorflow-GPU 並記錄一下安裝過程,幫助那些也想安裝 Tensorflow-GPU 的人可以更順利把環境搭建起來 

以下為示範的軟體跟硬體資訊:
作業系統:Windows 8 64 bit (完全無法理解為什麼我爸筆電系統是win8)
顯卡:GTX 860M

事前準備

在安裝前有幾個步驟要先確認

  1. 先從官網看一下Software requirements,看一下使用GPU的話需要什麼軟體
官網上說GPU需要的軟體

從上面就可以看出主要需要的軟體就是CUDA跟cuDNN

2. 確認顯卡是否支援 CUDA,可以來這裡確認你的顯卡是否有支援 CUDA

找到我的顯卡啦~ GTX 860M,右邊是運算評分,找到就代表你的顯卡有支援CUDA

3. 安裝顯卡最新的驅動程式,從上面官網的圖中可以看出安裝CUDA 9.0 需要384.X或更新的版本,我們從NVIDIA官網中找最新的Driver並把驅動程式更新至最新

上面步驟準備完成之後,接下來就開始安裝跟架設環境啦~~~

安裝Anaconda & Tensorflow-gpu

我們先從官網下載Anaconda,https://www.anaconda.com/download/
這裡我們選擇的是Pytthon 3.7的版本

安裝完Anaconda後,在程式集裡找到Anaconda Prompt,接下來我們來安裝tensorflow-gpu

  1. 創建Conda 環境

我們先創建一個python3.5的環境,並命名為 tensorflow-gpu

conda create -n tensorflow-gpu pip python=3.5
這裡我們選y

看到下面的畫面就代表我們環境搭建成功了

2. 進入環境:

輸入以下code來激活conda環境

activate tensorflow-gpu
看出我們現在已經在tensorflow-gpu的環境底下了

3.安裝 tensorflow-gpu

接下來我們用pip install來安裝 tensorflow-gpu

pip install --ignore-installed --upgrade tensorflow-gpu
開始安裝tensorflow-gpu

看到下以畫面就代表安裝成功了

安裝CUDA 9.0 和cuDNN 7.3

我先介紹怎麼安裝CUDA
先到這個網站下載CUDA,https://developer.nvidia.com/cuda-downloads
他Default的下載頁面是CUDA 10,用下面的方法找到CUDA9的下載頁面

跟據自已電腦的資訊下載對應的CUDA9 (這裡我們選local,因為聽說網路安裝會有一些問題)

CUDA下載頁面

然後我們開始安裝CUDA(開始安裝啦~~祈禱不要出問題)

安裝完成啦 (敲碗開心)

環境變數

接下來我們要自行check環境變數有沒有設定對,我們進系統的環境變數中,如果裡面沒有CUDA的話要自行加入。

接下來我們進Anaconda Prompt輸入以下code來測試CUDA安裝成功與否,如果出現以下畫面就代表安裝成功了。

nvcc -V
安裝成功畫面

接下來我們來安裝cuDNN 7.3

在這個網頁可以下載cuDNN,要下載的話必須要申請Nvidia的帳號
(我是直接用Google登入)
https://developer.nvidia.com/rdp/cudnn-download

下載回來後會是一個壓縮檔,解壓縮之後裡面會有三個資料夾,將這三個資料夾復製到剛剛安裝CUDA的資料夾
(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0)

環境變數

接下來我們一樣進環境變數,在Path的地方新增兩個路徑

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

這樣CUDA跟cuDNN就安裝完成了,接下來就是測試Tensorflow-gpu能不能用了

測試Tensorflow-GPU

我們進入剛剛安裝的tensorflow-gpu環境,並進入python裡面,輸入以下的code來測試GPU是否可正常運作,可能會運作一些時間,如果出現下面的畫面,就代表成功啦!!! Tensorflow-GPU安裝大功告成啦~~~

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

Jupyter notebook對anaconda新建的環境做設置

這裡加場介紹一下Jupyter 要怎麼對anaconda新建的環境做設置
因為前面我們創建一個新的環境:tensorflow-gpu,而這個新建的環境有很多套件跟IDE都沒有安裝進來,如果我們使用Jupyter notebook會發現Jupyter使用的kernel並不是我們新搭建的tensorflow-gpu,也就是說,Jupyter會找不到我們剛剛安裝的tensorflow,就像下面的圖,無法import tensorflow

我們也可以從下面code來看現在Jupyter所抓的環境是那一個

我們回到Anaconda Prompt中,並激活我們創建的環境,然後用conda install安裝Anaconda包,把一些基本anaconda的套件都安裝,當然裡面也包括IDE

conda install anaconda
這裡選Y,讓他安裝

花了一陣子看到DONE就代表基本Anaconda包安裝完成了

接下來就是把這個環境給安裝至Jupyter 裡面了,輸入以下的code把環境安裝至Jupyter裡面(注意,要安裝的話必需先激活此環境,不然安裝進去的也只會是外面的環境不是tensorflow-gpu的環境)

python -m ipykernel install --user --name tensorflow-gpu --display-name "Python (tensorflow-gpu)"

再來進Jupyter,在new那邊就會多出一個剛剛安裝的kernel

import tensorflow ,可以的話就代表Jupyter上的環境設置完成了!!!
(中間那個紅紅的,只是warning而己)

後記

這次安裝GPU版的Tensorflow並沒有之前那麼不順利,很快就架設完成了,或許是因為有上次的教訓,再加上對Anaconda也比較熟悉了,一步一步把CUDA跟cuDNN安裝好才會這麼順利吧XD,如果各位在安裝上面遇到什麼問題,歡迎在下面留言,我會一一回覆大家的!還有,各位在用Windows玩tensorflow的快點逃吧~(誤 哈哈

大家如果覺得我寫的還可以並且有幫助到你/妳的話,拜託給我一點掌聲吧,這樣我會更努力並更有動力的把自己所學給寫下來的!!有什麼問題也可以直接題問出來,如果我幫得上忙的話我會幫忙解答的~

--

--