2017年4月30日 星期日

於Win10下安裝TensorFlow並用GPU做加速

TensorFlow是一款Google推出用於機器學習的開源軟體庫,官方表明,在Python底下擁有最完整以及簡單的方案。




建議還是在linux上執行,詳情見此:
Object detection using GPU on Windows is about 5 times slower than on Ubuntu

首先,請先完成三個動作,可以參考之前之文章

1.覺調要裝哪個版本的TensorFlow
請參考 :
Win10下如何選用TensorFlow的版本?

2.安裝CUDA與cuDNN
1.5版(含以上)請參考:
於Win10環境下配置CUDA 9.0與cuDNN 7.0

1.4版(含以下)請參考:
於Win10環境下配置CUDA 8.0與cuDNN 6.0

3.安裝Python
於Win10下安裝Anaconda

若要用GPU加速TensorFlow需滿足以下條件:
支援CUDA Toolkit 的顯卡
支援CUDA Toolkit 的顯卡驅動
CUDA Toolkit
cuDN

安裝TensorFlow

第一步,打開CMD


第二步,在CMD裡幫Anaconda建立一個TensorFlow的環境(不想做環境管理可以略過這步)

在CMD裡面輸入並按下Enter
conda create -n tensorflow
並按下Enter
 

輸入「y」

環境建立成功


第三步,啟動環境(不想做環境管理可以略過這步)

在CMD裡輸入
activate tensorflow
並按下Enter

第四步,安裝GPU版本的TensorFlow

依照版本在CMD裡分別輸入指令:

1.4版
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.4.0-cp36-cp36m-win_amd64.whl
1.5版
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.5.0-cp36-cp36m-win_amd64.whl
1.6版
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.6.0-cp36-cp36m-win_amd64.whl
最新版
pip install --ignore-installed --upgrade tensorflow-gpu


並按下Enter


測試TensorFlow

測試一
根據TensorFlow的教學,我們在Spyder中建立一個檔案,輸入以下程式碼並執行: 


import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
可以發現如圖片中之結果,在IPython顯示視窗中輸出了「Hello, TensorFlow!



測試二
在測試二裡面,透過內建的MNIST範例,並觀察使用GPU-Z的觀察GPU的使用狀況
GPU-Z下載網址
在Anaconda的資料夾下找到mnist資料夾,並將「fully_connected_feed.py」載入至Spyder,我的路徑如下:
Anaconda3\Lib\site-packages\tensorflow\examples\tutorials\mnist\fully_connected_feed.py

GPU原使狀態如下:


執行「fully_connected_feed.py」後可以發現,GPU正在被使用中


恭喜可以使用TensorFlow並用GPU來加速啦~

6 則留言:

  1. 不好意思,我按照您的步驟安裝GPU的TensorFlow
    但是用spyder測試的時候,出現 :
    No module named 'tensorflow'
    請問該怎麼辦QQ?
    (Cuda、cudnn等都有按照您另一篇文章下載安裝)

    回覆刪除
    回覆
    1. 出現No module named 'tensorflow',看起來是沒裝進去,或是沒有到正確的環境底下。
      如果不會使用Anaconda的環境管理的話,也可以跳過步驟2、3直接執行步驟4,把tensorflow裝在anaconda的根目錄中試試。

      刪除
    2. 謝謝您的回覆!
      所以您的意思是把原本創的tensorflow環境(conda create -n.....)把他remove嗎?
      謝謝
      另外請問python 版本會有關係嗎?(anaconda 5.0.1,python 3.6)
      謝謝

      刪除
    3. 剛剛試了一下發現我原本是用Anaconda Prompt去創建conda create -n tensorflow的
      結果我發現版大是用cmd,所以我剛剛也去用cmd
      但是出現"conda不是內部指令..."的訊息
      爬文發現要把Anaconda的Scripts加入PATH中
      之後用cmd就可以用conda指令了
      也按照版大的步驟依序建構
      現在終於可以用了!!!
      非常謝謝版大的安裝教學!!!
      感激不盡!

      刪除
  2. 難道會是我把Anaconda安裝在D槽的關係嗎...?

    回覆刪除
    回覆
    1. 我也裝在D槽,所以我想應該沒關係...

      刪除