【发布时间】:2021-06-19 19:10:05
【问题描述】:
我正在尝试使用 Tensorflow 实现中性网络,并将数据集分类到不同的文件夹中(每个文件夹代表每个类)。我想知道是否有办法使用来自 S3 的数据并在本地机器上运行深度学习模型。
我拥有 S3 上的所有文件,但无法将其带到本地计算机。
P.S 我使用的是 Python 3.5 版
【问题讨论】:
标签: python-3.x tensorflow amazon-s3 deep-learning neural-network
我正在尝试使用 Tensorflow 实现中性网络,并将数据集分类到不同的文件夹中(每个文件夹代表每个类)。我想知道是否有办法使用来自 S3 的数据并在本地机器上运行深度学习模型。
我拥有 S3 上的所有文件,但无法将其带到本地计算机。
P.S 我使用的是 Python 3.5 版
【问题讨论】:
标签: python-3.x tensorflow amazon-s3 deep-learning neural-network
到目前为止,没有任何深度学习框架支持从 s3 获取数据并进行训练,这可能是因为 s3 定价的原因。
但是您可以在本地系统上挂载 S3
请不要,对于每次读取/写入,您都将根据 aws s3 定价收费,https://aws.amazon.com/s3/pricing/
【讨论】:
Tensorflow 支持这一点(但我认为在夜间构建中不支持),请参阅 documentation。 假设您已按照描述配置凭据(例如 $HOME/.aws/credentials 或使用环境变量),您必须使用带有 s3 的 URL 作为协议,如
s3://mybucket/some/path/words.tsv
如果您在自己的代码中读取或写入文件,请确保不要使用任何 python IO,而是使用 Tensorflow 的 tf.io.gfile.GFile。类似地,列出目录使用例如tf.io.gfile.walk 或 tf.io.gfile.listdir
从文档中的环境变量来看,我们只设置了AWS_REGION,但另外以下一些对于控制日志记录和避免超时很有用:
export AWS_LOG_LEVEL=3
export S3_REQUEST_TIMEOUT_MSEC=600000
不过,如果您在 AWS 上运行训练,从 s3 读取训练数据通常是一个好主意。对于本地运行,通常最好将数据复制到本地驱动器,例如使用AWS CLI 的sync 命令。
【讨论】: