Tensorflow GPU x Windows 10 個人開發環境+多人遠端工作站 架設指南

Tensorflow GPU
Windows 10
個人開發環境及多人遠端工作站
架設指南

雖然Deep Learning開發的主流作業系統是Ubuntu
但對於非資工本科的開發人員,Win10無疑是更好的選擇

本文將介紹Win10作業系統下Tensorflow-gpu的環境建置
適用於個人電腦安裝
以及如何設置成可供多人使用的小型工作站(適用於學校LAB)

內容包含五個區塊:
  1. GPU環境架設
  2. Python環境架設-Anaconda/Miniconda安裝
  3. Tensorflow及相關套件安裝
  4. PyCharm安裝
  5. Windows 10多人遠端桌面設定

GPU環境架設


首先你要先有一張nvidia的顯示卡,建議至少1060 6G以上,最低1050 4G
  1. 安裝driver


     到nvidia官方網站下載gpu driver並安裝
    選擇GPU型號、作業系統

    下載後執行並開始安裝



    安裝介面示意圖,基本上一路按下去就裝完了
    (圖片來自網路)
  2. 安裝cuda

    至下載頁面下載cuda:

    下載cuda 8.0 (對應cudnn 6 / tensorflow 1.3&1.4)
    下載cuda 9.0 (對應cudnn 7 / tensorflow 1.5)
    下載cuda 9.1 (對應cudnn 7 / tensorflow 1.?)

    註:若跑tensorflow 1.3/1.4的code建議裝cuda 8.0
    如果要使用最新的tensorflow 1.5,則下載cuda 9.0
    ※官方release的tensorflow 1.5目前是吃9.0,不是9.1
    選擇好你的作業系統後開始下載


    一樣一路按下去就裝完了(圖片來自網路)
  3. 安裝cudnn

    先前往cudnn下載頁面

    這邊的話,你必須註冊Nvidia developer帳號並登入才能下載
    登入Nvidia developer,或是按Join註冊一個新帳號
    註:與其說是註冊帳號,不如說是做Nvidia的問卷調查XD  就照實填就好,看不懂亂填也沒關係


    註冊完email認證後,回到下載頁面你會看到如下選單:
    你是裝cuda-8.0的話,選cuda-8.0和cudnn-6.0的組合
    同理,cuda-9.0的話,選cuda-9.0和cudnn-7.0.5的組合

    點進去選對應你作業系統的檔案來抓


    cudnn沒有安裝程式,下載後,請依照如下步驟安裝:
    1. 將下載的cudnn的zip檔解壓縮
    2. 找到cuda安裝路徑,長得像是(版號可能不同):
      C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
    3. 把解壓縮得到的檔案丟進去

Python環境架設

這邊我不建議用Python官方提供的安裝檔
理由是有很多高速運算的Python套件都是用C語言寫的
而官方版Python並沒有包含編譯好的Library或C編譯器,這會造成很多套件安裝Error


因此這邊推薦Anaconda的Python Solution
除了可以解決上述問題外,也包含python-venv的功能

如果你不喜歡容量很肥的Anaconda,也可以使用精簡版的Miniconda

下載Anaconda  (包含許多Data Science常用的套件,在個人電腦使用建議用這個)
下載Miniconda (乾淨的精簡版,在多使用者的Deep Learning工作站,建議用這個)

安裝方式不要一路點,請參照以下建議的方式安裝

  1. 選Just Me
  2. 兩個都勾
  3. 剩下一路點到完


裝完後測試方式:
  1. 對左下角Windows圖示點右鍵叫出選單,開啟PowerShell
  2. 分別輸入Get-Command python 、 Get-Command conda 、 Get-Command pip
    查看python, conda, pip的安裝路徑是否有正確被讀取到(若無,請重新開機再試試)
    上面顯示這三個指令都指向剛剛安裝的Miniconda的路徑
  3. 輸入python,觀察是否進入python,有則輸入exit()離開python
    顯示Python版本為3.6.2

測試完先不要關掉PowerShell,我們接著裝套件

Tensorflow及相關套件安裝

要安裝套件非常簡單,我們可以透過pip來安裝,只要在PowerShell中輸入
pip install 套件名稱
pip就會開始幫你安裝,其他會用到的套件也會一併幫你安裝,非常好用

例如安裝tensorflow gpu版的指令為

pip install tensorflow-gpu

安裝多個套件
pip install tensorflow-gpu matplotlib keras scikit-learn


指定安裝1.3版
pip install tensorflow-gpu==1.3

移除tensorflow
pip uninstall tensorflow-gpu


萬一pip失靈無法安裝某個套件(譬如scipy),那你可以改用conda來安裝:

conda的指令長得和pip幾乎一模一樣
譬如用conda安裝scipy:

conda install scipy

以下舉一些常用的套件(有一些Anaconda已經內建,Miniconda需要裝)

  • scipy (科學運算)
  • numpy (矩陣運算)
  • scikit-learn (機器學習)
  • tensorflow (深度學習 cpu版)
  • tensorflow-gpu  (裝了gpu版就不需要裝cpu版)
  • keras (深度學習)
  • matplotlib (作圖)
  • pandas (作圖&資料處理)
  • jupyter (jupyter編輯環境)

裝完之後可用指令列出所有已安裝套件及版本,在PowerShell輸入:
pip list



註:conda收錄的套件比較少,不一定找的到你要的套件。因此都建議先從pip找。

PyCharm安裝

一個好的文字編輯器可以讓你事半功倍
PyCharm是一款超級強大的Python IDE(整合開發環境)
別的功能不說,光是語法檢查和自動完成這兩項功能,就可以讓你少掉很多語法錯誤造成的bug
(這真是初學者的一大福音)

1. PyCharm下載頁面
我們裝免錢的Community版
你也可以試用付費的Professional版(學生可申請免費授權)

安裝就是一路點
裝完之後開啟PyCharm,進行初步設定


裝完之後開啟,初次安裝會問你要選哪種配色
IDE Theme和Editor colors這兩項我都是選Dracula,比較潮
(圖片來自網路)



2. 設完後開啟一個新的專案



3. 指定新專案的位置,以及使用的Python路徑後按create
理論上PyCharm會自動抓取你裝的anaconda的Python路徑


4. 馬上建一個新檔案來測試
檔名千萬不要取test.py 或 test_xxx.py之類的
不然PyCharm會以為你要跑Unit Test,那樣很蠢
我都取gg.py

打好print("hello world")測試程式碼
點右鍵Run gg.py

執行結果如子視窗,一如所料


5. 使用一個簡易的Tensorflow example測試
你可以從這邊挑一個example來跑看看

像這個是linear_regression.py
有使用到GPU的話,會印出GPU的型號
跑出來還畫圖給你看(需安裝matplotlib)
這個例子我用1080Ti跑了兩分多鐘,但CPU(i7 6700)不到一分鐘就跑完了
越是簡單的模型GPU越沒有用XD

多人遠端


Windows 10 Professional 版本內建的遠端桌面功能非常方便

可以讓無GPU的機器(ex.筆電)遠端連進來做Deep Learning開發

也可以藉此將GPU資源共享給多個使用者使用。

然而,Win 10 預設並不支援多人遠端桌面,一次只能登入一個人(第二個人登入時會將第一個人強制登出)
但實際上有辦法用非官方的方式開啟這個功能

本段落將介紹如何利用此方法打造一台Windows Deep Learning遠端工作站



方法非常簡單,我們先開啟遠端桌面

1.先隨便開啟一個資料夾
找到本機,點右鍵,選內容

2.選遠端設定,勾選允許




3.接下來賦予使用者遠端的權限:

4.到這裡下載補丁
zip檔會被Chrome判斷是病毒,因此我改用Edge瀏覽器下載
 至於安全性問題,他都open source了,我認為應該是沒有問題啦
(大不了下載source code自己編譯)




5.下載後,右鍵點install.bat,以管理員權限執行

記得要解壓縮


(裝好後你可以點RDPCheck.exe登入測試看有沒有成功)

從別台電腦連進來的方法(win10/win7):
搜尋"遠端桌面"

打開後輸入工作站IP,連到後會要求輸入使用者帳號、密碼

用Mac連windows工作站要裝Miscrosoft RDP



註:
在多使用者環境,不要將Python裝在系統裡面共用,那樣會有各種資料夾權限的問題
我是建議為每個使用者安裝獨立的Miniconda,且安裝在自己的使用者資料夾內

註2:
使用完畢要記得按登出釋放系統資源


-全文完-

下期預告:Tensorflow GPU x Ubuntu x Docker 工作站架設指南

Comments

Post a Comment

Popular posts from this blog

用Linux挖以太(2)-RX580刷BIOS省電超頻 30-31MH/s @ 96W TDP

PyTorch x Windows x GPU 安裝說明