Tensorflow GPU x Windows 10 個人開發環境+多人遠端工作站 架設指南
Tensorflow GPU
Windows 10
個人開發環境及多人遠端工作站
架設指南
雖然Deep Learning開發的主流作業系統是Ubuntu但對於非資工本科的開發人員,Win10無疑是更好的選擇
本文將介紹Win10作業系統下Tensorflow-gpu的環境建置
適用於個人電腦安裝
以及如何設置成可供多人使用的小型工作站(適用於學校LAB)
內容包含五個區塊:
- GPU環境架設
- Python環境架設-Anaconda/Miniconda安裝
- Tensorflow及相關套件安裝
- PyCharm安裝
- Windows 10多人遠端桌面設定
GPU環境架設
首先你要先有一張nvidia的顯示卡,建議至少1060 6G以上,最低1050 4G
安裝driver
到nvidia官方網站下載gpu driver並安裝選擇GPU型號、作業系統 下載後執行並開始安裝 安裝介面示意圖,基本上一路按下去就裝完了
(圖片來自網路)安裝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選擇好你的作業系統後開始下載 一樣一路按下去就裝完了(圖片來自網路) 安裝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沒有安裝程式,下載後,請依照如下步驟安裝:
Python環境架設
這邊我不建議用Python官方提供的安裝檔理由是有很多高速運算的Python套件都是用C語言寫的
而官方版Python並沒有包含編譯好的Library或C編譯器,這會造成很多套件安裝Error
因此這邊推薦Anaconda的Python Solution
除了可以解決上述問題外,也包含python-venv的功能
如果你不喜歡容量很肥的Anaconda,也可以使用精簡版的Miniconda
下載Anaconda (包含許多Data Science常用的套件,在個人電腦使用建議用這個)
下載Miniconda (乾淨的精簡版,在多使用者的Deep Learning工作站,建議用這個)
安裝方式不要一路點,請參照以下建議的方式安裝
裝完後測試方式:
- 對左下角Windows圖示點右鍵叫出選單,開啟PowerShell
- 分別輸入Get-Command python 、 Get-Command conda 、 Get-Command pip
查看python, conda, pip的安裝路徑是否有正確被讀取到(若無,請重新開機再試試)上面顯示這三個指令都指向剛剛安裝的Miniconda的路徑 - 輸入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
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版(學生可申請免費授權) |
安裝就是一路點 |
裝完之後開啟,初次安裝會問你要選哪種配色 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.選遠端設定,勾選允許
4.到這裡下載補丁
zip檔會被Chrome判斷是病毒,因此我改用Edge瀏覽器下載 至於安全性問題,他都open source了,我認為應該是沒有問題啦 (大不了下載source code自己編譯) |
記得要解壓縮 |
(裝好後你可以點RDPCheck.exe登入測試看有沒有成功)
從別台電腦連進來的方法(win10/win7):
搜尋"遠端桌面"
打開後輸入工作站IP,連到後會要求輸入使用者帳號、密碼 |
用Mac連windows工作站要裝Miscrosoft RDP
註:
在多使用者環境,不要將Python裝在系統裡面共用,那樣會有各種資料夾權限的問題
我是建議為每個使用者安裝獨立的Miniconda,且安裝在自己的使用者資料夾內
註2:
使用完畢要記得按登出釋放系統資源
-全文完-
下期預告:Tensorflow GPU x Ubuntu x Docker 工作站架設指南
期待下期
ReplyDelete