此页面介绍将 Cloud Storage 用作存储机器学习数据的选项,并介绍如何为 Cloud TPU 授予权限以访问 Cloud Storage 上的数据对象。
准备工作
为您的项目创建 Cloud TPU 服务帐号。
gcloud beta services identity create --service tpu.googleapis.com --project $PROJECT_ID
该命令将返回以下格式的 Cloud TPU 服务帐号:
service-PROJECT_NUMBER@cloud-tpu.iam.gserviceaccount.com
按照 Cloud TPU 快速入门指南或创建和删除 TPU 文档中的说明配置 Google Cloud 项目、创建 Compute Engine 虚拟机以及创建 Cloud TPU 资源。
将数据写入 Cloud Storage
控制台
转到 Cloud Console 上的 Cloud Storage 页面。
创建一个新的存储分区,并指定以下选项:
- 您选择的唯一名称。
- 默认存储类别:
Standard
- 位置:
us-central1
gsutil
使用
gsutil mb
命令创建 Cloud Storage 存储分区:gsutil mb -l region gs://bucket-name/
其中:
region 是您创建 Cloud TPU 的地区。例如:
us-central1
。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
bucket-name 是要创建的存储分区的名称。
使用
gsutil cp
命令将文件写入 Cloud Storage 存储分区:gsutil cp -r local-data-dir gs://bucket-name
其中 local-data-dir 是数据的本地路径。例如:
$HOME/your-data
为 Cloud TPU 授予对 Cloud Storage 的访问权限
您需要向 Cloud TPU 提供对 Cloud Storage 对象的读取/写入权限。为此,您必须向 Cloud TPU 使用的 Cloud TPU 服务帐号授予必需的访问权限。请按照以下步骤查找 Cloud TPU 服务帐号并授予必需的访问权限:
为 Cloud TPU 服务帐号授权
为 Cloud TPU 使用细粒度 ACL(推荐)
如果您将训练数据存储在 Cloud Storage 上,则 Cloud TPU 服务帐号需要存储分区的读写权限。
控制台
转到 Cloud Storage 浏览页面,查看您拥有的存储分区。
导航到要修改其 ACL 的存储分区。
在该存储分区上,选择
Edit Bucket Permissions
。如果您要从此存储分区读取数据,则您必须授予 TPU 服务帐号从资源读取数据的权限。您可以通过向服务帐号授予
Storage Legacy > Storage Legacy Bucket Reader
角色来实现此目的。如果您要向此存储分区写入数据,则您必须授予 TPU 服务帐号向资源写入数据的权限。您可以通过向服务帐号授予
Storage Legacy > Storage Legacy Bucket Writer
角色来实现此目的。
gsutil
如果您要读取此存储分区,请为 Cloud TPU 服务帐号授予读取权限:
gsutil acl ch -u tpu-service-account:READER gs://bucket-name
如果您要写入此存储分区,请为 Cloud TPU 服务帐号授予写入权限:
gsutil acl ch -u tpu-service-account:WRITER gs://bucket-name
对 Cloud TPU 使用 IAM 权限(备选)
如果要授予更宽泛的权限而不是将对各个存储分区的访问权限明确列入白名单,则需要向 Cloud TPU 服务帐号授予 Identity Access Management (IAM) Storage Admin 角色。
转到您项目的 IAM 页面。
点击 +添加 (+Add) 按钮向项目添加成员。
在成员文本框中输入 Cloud TPU 服务帐号的名称。
点击角色下拉列表。
启用以下角色:
Project > Viewer
Storage > Storage Admin
后续步骤
- 要详细了解如何创建 Cloud Storage 存储分区以及向这些存储分区写入数据,请参阅 Cloud Storage 文档。
- 如需详细了解服务帐号,请参阅身份验证概览。