CTPU 参考
概览
ctpu
开源工具用于创建一组计算资源,其中包含一个 Compute Engine 虚拟机以及一个或多个 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 虚拟机和 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 虚拟机和 Cloud TPU。
- 用量
ctpu ls <flags>
- 示例
ctpu ls --zone=us-central1-b
pause (zz)
- 说明
停止 Compute Engine 虚拟机并删除 Cloud TPU。停止 Cloud TPU 的用量计费,直到运行
ctpu up
为止。为确保停止 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。使用gcloud compute tpu start
或 START (位于 Compute Engine >Cloud 控制台中的 TPU 页面 如果 TPU 处于“STOPPED”(已停止)状态。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 虚拟机的当前状态。
- 用量
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 虚拟机。
- 根据您的位置分配默认地区,例如
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 <flags>
- 示例
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 和关联虚拟机的网络。如需了解这些网络,请参阅 Virtual Private Cloud (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