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來加速啦~

於Win10下安裝Anaconda


有用過Python的初學朋友應該知道,Python的套件包在Windows環定底下並不是那麼的好安裝。
今天要介紹的 Anaconda,是基於Python的套件整合包,裡面包含了簡單易用的IDE--Spyder,常見的套件工具--NumPy、Scipy、Pandas、Matlabplotlib、IPython等套件,並可以輕易的安裝在Windows底下。

目前最新版的Anaconda來到5.1版了,為Python 3.6。

Anaconda官網:
https://www.continuum.io/downloads

安裝Anaconda 5.1

下載基於Python 3.6的Anaconda 5.1
32位元:Anaconda3-5.1-Windows-x86.exe
64位元:Anaconda3-5.1-Windows-x86_64.exe

安裝Anaconda

點擊打開安裝檔後選擇「Next」



選擇「I Agree」


選擇要自己使用還是要安裝給所有人

設定安裝路徑

點選「Add Anaconda to my PATH enviroment variable」後,選「Install」


選「Next」

選「Finsh」即安裝完畢

可以在開始底下發現Spyder,點擊開來即可開始編輯程式

Spyder環境介紹:


上圖為Spyder的界面(程式碼有誤,請勿參考)。
有用過Matlab或RStudio的朋友可以發現,其實長的都很像,所以整體的使用者經驗也很近似。左邊為程式的編輯視窗,右上為變數的瀏覽視窗,右下為IPython的顯示視窗



、NumPy
NumPy

2017年4月23日 星期日

於Win10環境下配置CUDA 8.0與cuDNN 6.0

nVIDIA的顯示卡常用在許多科學運算與機器學習的加速上。但是在此之前,需要配置CUDA,方可使用顯示卡加速。
網路上不乏各種教學文章,但多太過老舊或太過簡略,只好自己再來寫一篇。
事實上這篇是為了運行TensorFlow而寫的。

基於GTX1060,以下為此次示範的軟體相關資訊:
作業系統:Windows 10 64bit
CUDA:8.0.61
cuDNN:cuDNN v6.0 Library for Windows 10 Jan 20, 2017), for CUDA 8.0
VS:Visual Studio Community 2015 with Update 3 (English)

  • 下載檔案

 CUDA
 進入網頁後,如圖選擇,請注意,Installer Type這裡務必選擇local,根據經驗,使用network安裝容易少裝東西。


Visual Studio Community 2015 with Update 3 (English)
下載Visual Studio Community 2015 with Update 3 (English)需先加入開發者社群方可下載。
在這裡是選用x64,語言為英文的ISO檔,據說選用中文版會有一些小問題,不過我沒有用過所以也不知道就是了。
cuDNN
下載cuDNN前需先加入nvidia developer社群,登入後方可下載。


由於CUDA是使用8.0版,故cuDNN請選擇for CUDA 8.0。又因為有軟體尚未支援cuDNN v7.0,本文以cuDNN v6.0做示範。請記得根據系統選擇您要的版本。



  • 安裝檔案

CUDA

安裝CUDA前請先檢查電腦內之驅動版本是否高於「376.51」,若否或是尚未安裝,請自行至nVIDIA官方網頁下載新版驅動並安裝,過低版本的驅動可能會有不可預期之錯誤。而我自己安裝CUDA自帶376.51版的驅動又出現許多問題,故建議自行安裝較高版本的驅動比較保險。連結如下:
nVIDIA驅動程式下載

點開CUDA解壓縮後進行安裝,首先會進入授權同意書的頁面,點選「同意並繼續」。

安裝選項選擇自訂

因為已經自行安裝較高版本的驅動,故這裡只需要溝選CUDA即可。

選取安裝位置,請盡量不要更動,下一步即可。

cuDNN
cuDNN下載為一壓縮檔,點擊檔案並進入CUDA資料夾後可以看到如下圖的3資料夾
將3個資料夾解壓縮至「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0」中

Visual Studio Community 2015 with Update 3 (English)

點擊ISO掛載檔案後進入資料夾,點擊「vs_community.exe」進行安裝。


Choose your installation location的部份選擇想要的安裝路徑,在此以「C:\Program Files (x86)\Microsoft Visual Studio 14.0」作為範例,並在Choose the type of installation的部份選擇Custom,點擊Next。

在這裡我只勾選安裝必要的「Visual C++」,其他功能若有需要請自行安裝,點選Next。

表中會告訴你會安裝哪些東西,點選Install即可安裝。

  • 環境變數設定

進入控制台→系統及安全性→進階系統設定→進階→環境變數
尋找「系統變數」中「Path」的部份並用左鍵雙擊,新增以下變數:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

  • 檢查

進入CMD並輸入「nvcc -V」檢查是否安裝成功。

恭喜你可以開始調用GPU來加速啦~