CTPU 参考

概览

ctpu 开源工具用于创建一组计算资源,其中包含一个 Compute Engine 虚拟机以及一个或多个 Cloud TPU 设备。该工具已预装在 Cloud Shell 中。

您可以在 GitHub 上找到 ctpu 的文档和代码。

ctpu 工具使用以下语法:

ctpu     

以下是 ctpu 的子命令:

auth

说明
设置或显示 Cloud TPU 的授权。
用法
ctpu auth   
示例
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 虚拟机和 Cloud TPU。
用法
ctpu rm 
示例
ctpu rm --zone=us-central1-b

help

说明
列出所有的 ctpu 子命令和顶级标志。
用法
ctpu help
ctpu help 
示例
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 虚拟机和 Cloud TPU。
用法
ctpu ls 
示例
ctpu ls --zone=us-central1-b

pause (zz)

说明

停止 Compute Engine 虚拟机并删除 Cloud TPU。停止 Cloud TPU 的用量计费,直到运行 ctpu up 为止。

为确保停止 Cloud TPU,您必须在命令行中指定 Cloud TPU 名称和地区。

用法
ctpu pause 
示例
ctpu pause --name=my-tpu --zone=us-central1-a  // pause the named TPU
in the specified zone
说明
在屏幕上显示 Cloud TPU 名称、项目名称和地区的当前配置。
示例
ctpu print-config

quota

说明
显示您可以查看配额的网址。
用法
ctpu quota
示例
ctpu quota
Output: Quotas cannot currently be displayed within ctpu.
To view your quota, open 
Request additional quota from 

restart

说明

重启仍处于“RUNNING”(正在运行)状态(由 ctpu status 命令显示),但由于硬件问题停止运行的 Cloud TPU。如果 TPU 处于“STOPPED”(已停止)状态,请使用 gcloud compute tpu start 或者 Cloud Console 的 Compute Engine > TPU 页面上的“开始”按钮。

restart 不会重启抢占式 Cloud TPU。如果您的 Cloud TPU 已被抢占,则需要运行 ctpu delete 和 ctpu up。

用法
ctpu restart 
示例
ctpu restart --zone=us-central1-a

status (st)

说明

查询 GCP API(仅限默认地区)以确定 Cloud TPU 和 Compute Engine 虚拟机的当前状态。

用法

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 
示例
ctpu tpu-sizes --zone=us-central1-a

向上

说明

启动 ctpu 资源集。首次在项目上运行 ctpu up 时,所耗时间比之后运行使用的时间长,这是因为它会执行 SSH 密钥传播和 API 启动等任务。

  • 启用 Compute Engine 和 Cloud TPU 服务。
  • 创建预装有 TensorFlow 最新稳定版的 Compute Engine 虚拟机。
  • 根据您的位置分配默认可用区,例如 us-central1-b。
  • 将 Cloud TPU 的名称作为环境变量 (TPU_NAME) 传递给 Compute Engine 虚拟机。
  • 通过向您的 Cloud TPU 服务账号授予特定的 IAM 角色,确保 Cloud TPU 有权访问 Google Cloud 项目中的所需资源。
  • 执行其他一些检查。
  • 将您登录到新的 Compute Engine 虚拟机。Shell 提示符会从 username@project 更改为 username@tpuname。

您可以根据需要随时运行 ctpu up。例如,如果您与 Compute Engine 虚拟机的 SSH 连接中断,运行 ctpu up 可恢复此连接。如果 Compute Engine 不在默认地区,则必须指定一个地区。例如:

$ ctpu up --zone=us-central1-a
用法
ctpu up 
示例
ctpu up --tpu-size=v2-8 --disk-size-gb=320 --preemptible
标志

--disk-size-gb
配置 Compute Engine 虚拟机的根卷大小。该值必须是整数。(默认值为 250)

--dry-run
不进行更改;只显示可能已发生的情况。

--forward-agent
通过 SSH 连接到 Compute Engine 虚拟机时,启用 SSH 代理转发。借助 SSH 代理转发,无需在 Compute Engine 虚拟机上放置私钥即可访问 GitHub 等共享代码库。(默认值为 true)

--forward-ports
将有用的端口自动从 Compute Engine 虚拟机转发到本地机器。转发的端口包括:6006 (TensorBoard)、8888(Jupyter 笔记本)、8470(TPU 端口)、8466(TPU 分析器端口)。(默认值为 true)

--gce-image
替换自动选择的 Compute Engine 映像。如果您使用的是自己的自定义映像,而不是安装的 TensorFlow 提供的映像,请使用此标志。

--gcp-network
指定应在其中创建 Cloud TPU 和关联虚拟机的网络。如需了解网络,请参阅虚拟私有云 (VPC) 网络概览。(默认值为默认网络)

--log-http
显示 HTTP 请求-响应对的完整内容。如需启用显示,请将此标志设置为 true。如果您需要记录输出的内容以提交 ctpu 错误报告,请使用此标志。如需了解详情,请参阅 ctpu README 文件。

--machine-type
配置 Compute Engine 虚拟机的大小。Cloud 机器类型页面提供了机器类型的完整列表。(默认值为 n1-standard-2)

--name
替换要用于虚拟机和 Cloud TPU 的名称。(默认值为您的用户名)

--noconf
跳过确认。

--preemptible
创建抢占式 Cloud TPU 节点。抢占式 Cloud TPU 每小时的费用比非抢占式 Cloud TPU 的低。Cloud TPU 服务可以随时退出抢占式设备。(默认值为非抢占式)

--preemptible-vm
创建抢占式 Compute Engine 虚拟机。抢占式虚拟机每小时的费用比非抢占式虚拟机的低。Compute Engine 服务可以随时退出虚拟机实例。(默认值为非抢占式)

--print-welcome
始终显示欢迎辞。

--project
替换要在分配虚拟机和 TPU 时使用的 GCP 项目名称。指定 cloud config 或 Compute Engine 元数据中的一个值,通常是项目名称。如果找不到合适的值,必须在命令行中提供一个值。

--tf-version
设置要在创建 Compute Engine 虚拟机和 Cloud TPU 时使用的 TensorFlow 版本。(默认值为最新稳定版本)

--tpu-only
仅分配 Cloud TPU;请仅在您已拥有虚拟机时使用此标志。

--tpu-size
配置 Cloud TPU 的大小和硬件版本。

--use-dl-images
使用深度学习虚拟机映像(请参阅文档:https://cloud.google.com/deep-learning-vm/),而不是 TPU 机器映像。(默认值为 TPU 机器映像)

--vm-only
仅分配虚拟机;如果您还未准备好设置和付费使用 TPU,请使用此标志。

--zone
替换要在分配虚拟机和 Cloud TPU 时使用的 Compute Engine 地区。在命令行上,运行 ctpu help up 可查看该列表。

版本

说明
显示安装的 ctpu 版本。
用法
ctpu version
输出
ctpu version
Output: ctpu version: 1.9