CTPU 參考資料
總覽
開放原始碼 ctpu
工具可用來建立運算資源「群」,這些資源是由 Compute Engine VM 和一或多部 Cloud TPU 裝置所組成。這項工具已預先安裝在 Cloud Shell 中。
您可以在 GitHub 上找到 ctpu
的說明文件和程式碼。
ctpu
工具使用以下語法:
ctpu <subcommand> <flags> <subcommand> <subcommand args>
以下是 ctpu
的子指令:
auth
- 說明
- 設定或顯示 Cloud TPU 的授權。
- 用量
ctpu auth <flags> <subcommand> <subcommand args>
- 範例
ctpu auth list --project="my-project" --zone=us-central1-a ctpu auth list --project my-project --zone us-central1-a
- 子指令
ctpu auth
指令支援以下子指令:- add-bigtable - 確認 Cloud TPU 獲得 Cloud Bigtable 的授權
- add-gcs - 確認 Cloud TPU 獲得 Cloud Storage 的授權
- list - 顯示 Cloud TPU 服務帳戶授權
- commands - 列出所有指令名稱
- flags - 描述所有已知的頂層標記
- help - 描述子指令和其語法
- 選用標記
以下是
ctpu auth
的選用指令。name | project | zone
delete (rm)
- 說明
- 刪除 Compute Engine VM 和 Cloud TPU。
- 用量
ctpu rm <flags>
- 範例
ctpu rm --zone=us-central1-b
help
- 說明
- 列出所有
ctpu
子指令和頂層旗標。 - 用量
ctpu help ctpu help <subcommand>
- 範例
ctpu help // list all ctpu subcommands and top level flags ctpu help auth // list all flags that can be used with `ctpu auth` ctpu help up // list all flags that can be used with `ctpu up`
list (ls)
- 說明
- 列出指定區域中的所有 Compute Engine VM 和 Cloud TPU。
- 用量
ctpu ls <flags>
- 範例
ctpu ls --zone=us-central1-b
pause (zz)
- 說明
停止 Compute Engine VM 並刪除您的 Cloud TPU。在執行
ctpu up
之前,停止針對 Cloud TPU 用量收費。如要確保 Cloud TPU 已停止運作,您必須在指令列中指定 Cloud TPU 的名稱和區域。
- 用量
ctpu pause <name, zone>
- 範例
ctpu pause --name=my-tpu --zone=us-central1-a // pause the named TPU in the specified zone
print-config (cfg)
- 說明
- 在畫面上顯示目前的 Cloud TPU 名稱、專案名稱和區域設定。
- 範例
ctpu print-config
quota
- 說明
- 顯示可供查看配額的網址。
- 用量
ctpu quota
- 範例
ctpu quota Output: Quotas cannot currently be displayed within
ctpu
. To view your quota, open <url> Request additional quota from <url>
restart
- 說明
重新啟動因硬體問題而停止執行,但仍處於「RUNNING」(執行中) 狀態 (顯示於
ctpu status
中) 的 Cloud TPU。如果 TPU 處於「STOPPED」(已停止) 狀態,請在 Cloud 控制台的「Compute Engine」>「TPU」頁面上使用gcloud compute tpu start
或「START」(啟動) 按鈕。restart
不會重新啟動先占 Cloud TPU。如果您的 Cloud TPU 已為先占,就需執行ctpu delete
和ctpu up
。- 用量
ctpu restart <flags>
- 範例
ctpu restart --zone=us-central1-a
status (st)
- 說明
查詢 GCP API (僅限預設區域) 來判斷 Cloud TPU 和 Compute Engine VM 的目前狀態。
- 用量
ctpu st
- 範例
ctpu st --zone=us-central1-a Status message: Your cluster is running! Compute Engine VM: RUNNING Cloud TPU: RUNNING
tpu-locations
- 說明
- 列出所有具有可用 TPU 類型的區域。
- 用法
- ctpu tpu-locations
- 輸出
Cloud TPU Locations: asia-east1-c europe-west4-a us-central1-a us-central1-b us-central1-c
tpu-sizes
- 說明
- 列出指定區域中所有可用的 TPU 大小。部分大小僅適用於特定區域。(預設 = 預設區域)
- 用量
tpu-sizes <zone>
- 範例
ctpu tpu-sizes --zone=us-central1-a
up
- 說明
啟動
ctpu
資源集。第一次在專案上執行ctpu up
時,所需時間會比之後執行時長,因為這項指令必須執行安全殼層金鑰傳播和 API 啟用等工作。- 啟用 Compute Engine 和 Cloud TPU 服務。
- 建立 Compute Engine VM 並預先安裝最新的穩定 TensorFlow 版本。
- 根據您的地點指派預設區域,例如
us-central1-b
。 - 將 Cloud TPU 的名稱以環境變數 (
TPU_NAME
) 的形式傳送給 Compute Engine VM。 - 將特定的身分與存取權管理角色授予您的 Cloud TPU 服務帳戶,確保您的 Cloud TPU 可從 Google Cloud 專案中存取需要的資源。
- 執行其他檢查作業。
- 登入新的 Compute Engine VM。殼層提示會從
username@project
變更為username@tpuname
。
您可以隨時執行
ctpu up
。舉例來說,假如連至 Compute Engine VM 的 SSH 連線中斷,可執行ctpu up
來恢復連線。如果 Compute Engine 不在預設區域,您「必須」指定區域。例如:$ ctpu up --zone=us-central1-a
- 用量
ctpu up <flags>
- 範例
ctpu up --tpu-size=v2-8 --disk-size-gb=320 --preemptible
- 旗標
--disk-size-gb
設定 Compute Engine VM 的根磁碟區大小。值必須是整數。(預設值 = 250)--dry-run
不會進行任何變更,只會顯示應發生的事項。--forward-agent
會在使用 SSH 連線到 Compute Engine VM 時啟用 SSH 代理程式轉送功能。SSH 代理程式轉送功能可讓您存取共用存放區 (像是 GitHub),而不需在 Compute Engine VM 上放置私密金鑰。(預設值 = true)--forward-ports
從 Compute Engine VM 自動將有用的通訊埠轉送到本機機器。轉送的通訊埠是:6006 (tensorboard)、8888 (jupyter 筆記本)、8470 (TPU 通訊埠)、8466 (TPU 分析器通訊埠)。(預設值 = true)--gce-image
覆寫自動選擇的 Compute Engine 映像檔。如果您使用自己的自訂映像檔,而不是透過已安裝 TensorFlow 提供的映像檔,請使用此標記。--gcp-network
指定要在其中建立 Cloud TPU 和相關聯之 VM 的網路。如需網路的相關資訊,請參閱虛擬私人雲端 (VPC) 網路總覽。(預設值 = 預設網路)--log-http
顯示 http 要求/回應組合的完整內容。若要啟用顯示功能,請將此旗標設為「true」。請在需要記錄輸出,以針對ctpu
提交錯誤報告時,使用此旗標。詳情請參閱ctpu
README。--machine-type
設定 Compute Engine VM 的大小。機器類型的完整清單於 Cloud 機器類型頁面上提供。(預設值 = n1-standard-2)--name
覆寫要用於 VM 和 Cloud TPU 的名稱。(預設值 = 您的使用者名稱)--noconf
略過確認。--preemptible
建立先占 Cloud TPU 節點。先占 Cloud TPU 的每小時費用較非先占 Cloud TPU 低。Cloud TPU 服務可隨時退出先佔裝置。(預設值 = 非先占)--preemptible-vm
建立先占 Compute Engine VM。先占 VM 的每小時費用較非先占 VM 低。Compute Engine 服務可隨時退出 VM 執行個體。(預設值 = 非先占)--print-welcome
一律顯示歡迎訊息。--project
覆寫要在分配 VM 和 TPU 時使用的 GCP 專案名稱。從雲端配置或 Compute Engine 中繼資料中指定值 (通常是專案名稱)。如果找不到好的值,您必須在指令列上提供值。--tf-version
設定建立 Compute Engine VM 和 Cloud TPU 時要使用的 TensorFlow 版本。(預設值 = 最新的穩定版本)--tpu-only
僅分配 Cloud TPU。請僅在已有 VM 可用時使用此選項。--tpu-size
設定 Cloud TPU 的大小和硬體版本。--use-dl-images
使用深度學習 VM 映像檔 (參考文件:https://cloud.google.com/deep-learning-vm/),而不是 TPU 機器映像檔。(預設值 = TPU 機器映像檔)--vm-only
僅分配 VM。請在尚未準備好設定與支付 TPU 費用時,使用此選項。--zone
覆寫分配 VM 和 Cloud TPU 時所用的 Compute Engine 區域。在指令行上,執行ctpu help up
來檢視清單。
version
- 說明
- 顯示已安裝
ctpu
的版本。 - 用量
ctpu version
- 輸出
ctpu version Output: ctpu version: 1.9