如何在 S3 上运行 TensorFlow
这篇文档讲述了怎样在 S3 文件系统上运行 TensorFlow。
S3
想要在 S3 上使用 TensorFlow,先要将你用来读写数据的路径改成 S3 路径。如下所示:
filenames = ["s3://bucketname/path/to/file1.tfrecord",
"s3://bucketname/path/to/file2.tfrecord"]
dataset = tf.data.TFRecordDataset(filenames)
你可以通过一系列环境变量来控制你的 TensorFlow 程序在 S3 上读写数据:
- AWS_REGION:S3 默认使用区域终端节点,区域通过
AWS_REGION
来设置。如果AWS_REGION
没有被指定,默认会使用us-east-1
。 - S3_ENDPOINT:重写
S3_ENDPOINT
来明确指定节点。 - S3_USE_HTTPS:S3 默认通过 HTTPS 访问,除非你设置了
S3_USE_HTTPS=0
。 - S3_VERIFY_SSL:如果你使用了 HTTPS,可以通过
S3_VERIFY_SSL=0
来关闭 SSL 校验。
当读写一个私有桶时,可以用以下几种方式提供 AWS 凭证:
- 在本地的 AWS 证书文件中设置凭证,Linux、 macOS 和 Unix 存放在
~/.aws/credentials
,Windows 存放在C:\Users\USERNAME\.aws\credentials
。 - 设置
AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
环境变量。 - 如果 TensorFlow 部署在一个 EC2 实例上,创建一个 IAM 角色,并赋予该 EC2 实例使用该角色的权限。