CTPU リファレンス
概要
オープンソースの ctpu
ツールは、Compute Engine VM と 1 つ以上の Cloud TPU デバイスで構成される数多くの一連のコンピューティング リソースの作成に使用されます。このツールは Cloud Shell にプリインストールされています。
ctpu
のドキュメントとコードは GitHub で確認できます。
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
- 説明
- 割り当ての確認先の URL を表示します。
- 用途
ctpu quota
- 例
ctpu quota Output: Quotas cannot currently be displayed within
ctpu
. To view your quota, open <url> Request additional quota from <url>
restart
- 説明
まだ実行中の状態(
ctpu status
に示されます)になっているものの、ハードウェアの問題が原因で稼働を停止した Cloud TPU を再起動します。TPU が停止状態の場合は、gcloud compute tpu start
を使用するか、Cloud Console の [Compute Engine] > [TPU] ページにある [開始] ボタンを使用します。プリエンプトされた Cloud TPU は、
restart
では再起動されません。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
を実行する際は、SSH 認証鍵の伝播や API の開始などのタスクをが実行されるため、通常よりも時間がかかります。- Compute Engine と Cloud TPU サービスを有効にします。
- TensorFlow の最新の安定版がプリインストールされた Compute Engine VM を作成します。
- 使用ロケーションに基づいてデフォルト ゾーン(
us-central1-b
など)を割り当てます。 - Cloud TPU の名前を環境変数(
TPU_NAME
)として Compute Engine VM に渡します。 - 特定の IAM 役割を 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
Compute Engine VM への SSH 接続時に、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 を作成するネットワークを指定します。ネットワークの詳細については、Virtual Private Cloud(VPC)ネットワークの概要をご覧ください。(デフォルト = デフォルト ネットワーク)--log-http
HTTP リクエストとそれに対するレスポンスのペアの完全な内容を出力します。このフラグを true に設定すると、出力が有効になります。このフラグは、ctpu
に対するバグレポートの提出のためにログ出力が必要な場合に使用します。詳しくは、ctpu
README をご覧ください。--machine-type
Compute Engine VM のサイズを構成します。マシンタイプの完全なリストについては、マシンタイプのページをご覧ください。(デフォルト = 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 プロジェクト名をオーバーライドします。cloud config または Compute Engine メタデータに含まれる値(通常はプロジェクト名)を指定します。適切な値が見つからない場合は、コマンドラインで値を指定する必要があります。--tf-version
Compute Engine VM と Cloud TPU の作成時に使用する TensorFlow のバージョンを設定します(デフォルト = 最新の安定版リリース)。--tpu-only
Cloud TPU のみを割り当てます。使用できる VM が既存の場合にのみ、このフラグを使用します。--tpu-size
Cloud TPU のサイズとハードウェア バージョンを構成します。--use-dl-images
TPU マシンイメージではなく、ディープ ラーニング VM イメージ(https://cloud.google.com/deep-learning-vm/ にあるドキュメントを参照)を使用します(https://cloud.google.com/deep-learning-vm/ にあるドキュメントを参照)(デフォルト = TPU マシンイメージ)。--vm-only
VM のみを割り当てます。これは、TPU の設定と準備ができていない場合のみ使用します。--zone
VM と Cloud TPU の割り当て時に使用する Compute Engine ゾーンをオーバーライドします。このリストを表示するには、コマンドラインでctpu help up
を実行します。
バージョン
- 説明
- インストールされている
ctpu
のバージョンを出力します。 - 用途
ctpu version
- 出力
ctpu version Output: ctpu version: 1.9