连接到 Cloud Storage 存储分区

此页面介绍将 Cloud Storage 用作存储机器学习数据的选项,并介绍如何为 Cloud TPU 授予权限以访问 Cloud Storage 上的数据对象。

准备工作

按照 Cloud TPU 快速入门指南创建和删除 TPU 文档中的说明配置 Google Cloud Platform 项目、创建 Compute Engine 虚拟机,以及创建 Cloud TPU 资源。

将数据写入 Cloud Storage

控制台

  1. 转到 GCP Console 上的 Cloud Storage 页面。

    转到 Cloud Storage 页面

  2. 创建一个新的存储分区,并指定以下选项:

    • 您选择的唯一名称。
    • 默认存储类别:Standard
    • 位置:us-central1

gsutil

  1. 使用 gsutil mb 命令创建 Cloud Storage 存储分区:

    gsutil mb -l ${TPU_REGION} gs://YOUR-BUCKET-NAME/

    其中:

    • TPU_REGION 是您创建 Cloud TPU 所在的区域。Cloud TPU 可在以下区域使用:

      美国

      Cloud TPU v2 和抢占式 v2 us-central1
      Cloud TPU v3 和抢占式 v3 us-central1
      Cloud TPU v2 Pod(Beta 版) us-central1

      欧洲

      Cloud TPU v2 和抢占式 v2 europe-west4
      Cloud TPU v3 和抢占式 v3 europe-west4
      Cloud TPU v2 Pod(Beta 版) europe-west4
      Cloud TPU v3 Pod(测试版) europe-west4

      亚太地区

      Cloud TPU v2 和抢占式 v2 asia-east1
    • YOUR-BUCKET-NAME 是要创建的存储分区的名称。

  2. 使用 gsutil cp 命令将文件写入 Cloud Storage 存储分区:

    gsutil cp -r ${LOCAL_DATA_DIR} ${CLOUD_DATA_DIR}

    其中:

    • LOCAL_DATA_DIR 是数据的本地路径,例如:$HOME/your-data
    • CLOUD_DATA_DIR 是在 Cloud Storage 中的路径,例如:gs://YOUR-BUCKET-NAME

为 Cloud TPU 授予对 Cloud Storage 的访问权限

您需要向 Cloud TPU 提供对 Cloud Storage 对象的读取/写入权限。为此,您必须向 Cloud TPU 使用的服务帐号授予必需的访问权限。请按照以下步骤查找 Cloud TPU 服务帐号并授予必需的访问权限:

找到 Cloud TPU 服务帐号

确定 Cloud TPU 服务帐号的名称。名称请遵循以下格式:

    service-[PROJECT_NUMBER]@cloud-tpu.iam.gserviceaccount.com

请参阅如何查找项目编号

向服务帐号授权

如果您将训练数据存储在 Cloud Storage 上,则 Cloud TPU 服务帐号需要存储分区的读写权限。

控制台

  1. 转到 Cloud Storage 浏览页面,查看您拥有的存储分区。

    转到 Cloud Storage 浏览器

  2. 导航到要修改其 ACL 的存储分区。

  3. 在该存储分区上,选择 Edit Bucket Permissions

  4. 如果您要读取此存储分区,则必须向 TPU 服务帐号授予对资源的读取权限。您可以通过向服务帐号授予 Storage Legacy > Storage Legacy Bucket Reader 角色来实现此目的。

  5. 如果您要写入此存储分区,则必须向 TPU 服务帐号授予对资源的写入权限。您可以通过向服务帐号授予 Storage Legacy > Storage Legacy Bucket Writer 角色来实现此目的。

gsutil

  1. 如果您要读取此存储分区,请为 TPU 服务帐号授予读取权限

    gsutil acl ch -u [SERVICE_ACCOUNT]:READER gs://[BUCKET_NAME]

  2. 如果您要写入此存储分区,请为 TPU 服务帐号授予写入权限

    gsutil acl ch -u [SERVICE_ACCOUNT]:WRITER gs://[BUCKET_NAME]

对 Cloud TPU 使用 IAM 权限(备选)

如果要授予更宽泛的权限而不是将对各个存储分区的访问权限明确列入白名单,则需要向 Cloud TPU 服务帐号授予 Identity Access Management (IAM) Storage Admin 角色。

  1. 转到项目的 Cloud IAM 页面。

    转到 Cloud IAM

  2. 点击 +添加 (+Add) 按钮向项目添加成员。

  3. 成员文本框中输入 Cloud TPU 服务帐号的名称。

  4. 点击角色下拉列表。

  5. 启用以下角色:

    • Project > Viewer

    • Storage > Storage Admin

后续步骤

  • 要详细了解如何创建 Cloud Storage 存储分区以及向这些存储分区写入数据,请参阅 Cloud Storage 文档
  • 要详细了解 GCP 服务帐号,请参阅身份验证概览