如何使用Cloud ML Engine來訓練Deep Neural Network [Part 1]
[Part 1]先講解如何設定GCP,[Part 2]開始進行訓練。
Google 帳號是必要的
使用Google的服務當然需要Google帳號,而且要提供付費資料也就是信用卡相關資訊,不過目前平台有提供300美元的試用優惠,相當划算!
有兩種方式可以使用這個引擎,一種是command-line,另一種是Datalab。這邊我選擇command-line,也許下次可以介紹一下如何使用Datalab。
安裝 Cloud SDK
可以參考官方文件 Quickstart for Mac OS X[1]。如果你不是使用MacOS的話也沒關係,文件也有提供其他作業系統的安裝指引。
注意:如果你的Python環境是用Pyenv安裝的話,請不要將Cloud SDK安裝在virtualenv虛擬出來的環境,因為在這樣的情況下會出現奇怪的錯誤,我也不知道為什麼。
- 確定 Python 2.7 被正確安裝在系統上(官方使用 Python2.7版本)
python -V
2. 下載安裝檔並解包放在你想要的位置,基本上現在的電腦應該都有支援64 bits
3. 執行下面那個指令來設置 Cloud SDK,他會自動把路徑加到環境變數裡。在執行完成後,請不要刪掉 “google-cloud-sdk” 資料夾,因為所有相關的程式檔都在裡面,並沒有被複製到其他系統路徑裡。 以下是步驟:
./google-cloud-sdk/install.sh
- 輸入 Y
- Zsh 是我預設的 shell,留白按下 ENTER 即可
- 上面兩段指令會被加入 .zshrc 檔案裡用來設定路徑,如果你是用bash,那就是 .bashrc 檔案
- 重新啟動你的 terminal,這些設定就會生效了
初始化 Cloud SDK
執行以下指令:
gcloud init
接著會有一些步驟 I’ll show you~
- 使用 [default] 設定就選第一個選項,也可以建立新的設定就選第二個選項
- 選擇第一個選項,使用現在的帳號;用其他帳號選擇第二個選項
- 我只有一個project,所以選一
- 要設定 Google Compute Engine 的話,輸入 Y,然後選擇你想要的地區
- 關於 zones/regions 的資訊,請參考這個連結
- https://cloud.google.com/compute/docs/regions-zones/regions-zones[2]
- 這樣就設定完成了!最後它也提供了一些訊息可以參考
執行 gcloud 核心指令
- 列出儲存在本機的帳號資格
gcloud auth list
會列出這樣的帳號清單:
Credentialed accounts:
- example-user-1@gmail.com (active)
- example-user-2@gmail.com
- 列出使用中 SDK configuration 中的特性:
gcloud config list
會列出這樣的特性清單:
[core]
account = example-user-1@gmail.com
disable_usage_reporting = False
project = example-project
- 檢視 Cloud SDK 安裝及設定的相關資訊:
gcloud info
- 要查詢 gcloud 的指令或其他主題:
gcloud help
例如以下指令:
gcloud help compute instances create
gcloud 會提供一些幫助主題包括:指令的描述、旗標或選項的清單以及如何使用的範例
Cloud ML Engine
接下來的步驟可以參考這個連結Cloud ML Engine — Quickstart using the Command-Line[3]。
在開始前會有三點必須注意:
- 選擇或創建一個 Cloud Platform 專案
- 將你的專案加入帳單
- 啟動兩種APIs — Cloud Machine Learning Engine API & Compute Engine API
開始步驟:
- 選擇或創建一個專案
- 啟動 APIs 後,還需要新增 credentials
- 新增 Cloud ML Engine 的 credential,不過這個 API 不需要新增 credential,所以直接到下一步
- 新增 Compute Engine API 的 credential
- 然後就據實回答上面的問題就可以了
- 輸入一些相關資料
- 我需要的服務是 Cloud ML Engine 所以就選擇 ML Engine Admin(權限最大)
- 如果你有照著我的步驟走的話,圖片裡的1.~4.步驟就可以不鳥他了,直接從第 5. 步驟開始
- 執行圖片中的第 7. 步驟後,會啟動Web來進行登入認證,完成後就是這樣囉!
- 查驗一下 Cloud SDK 的元件
- 現在是空的,當你開始建立 models 後會在這裡看到
- 試著用 Python 執行一個簡單的 Tensorflow program
- 如果出現上面的警告訊息,請不用擔心!那只是因為無法使用某些底層的指令而無法加速運算,而且我們真正的運算會在雲端上,所以忽略它即可
到這邊總算是把相關的設定都完成啦~(一直覺得設定的工作很麻煩又累人@@),如果你想多了解關於 GCP 的相關資訊可以參考這個連結 Google Cloud Platform Documentation[4]。這樣我們就可以往下個階段前進囉XD
References
- [1] Quickstart for Mac OS X — https://cloud.google.com/sdk/docs/quickstart-mac-os-x
- [2] Regions and Zones — https://cloud.google.com/compute/docs/regions-zones/regions-zones
- [3] Quickstart using the Command-Line (Cloud ML Engine) — https://cloud.google.com/ml-engine/docs/quickstarts/command-line
- [4] Google Cloud Platform Documentation — https://cloud.google.com/docs/
- [5] Getting Started with Training and Prediction — https://cloud.google.com/ml-engine/docs/how-tos/getting-started-training-prediction
2017.09.03 last updated