【问题标题】:Is there a way to run a Deep Learning model locally with the data on AWS S3?有没有办法使用 AWS S3 上的数据在本地运行深度学习模型?
【发布时间】:2021-06-19 19:10:05
【问题描述】:

我正在尝试使用 Tensorflow 实现中性网络,并将数据集分类到不同的文件夹中(每个文件夹代表每个类)。我想知道是否有办法使用来自 S3 的数据并在本地机器上运行深度学习模型。

我拥有 S3 上的所有文件,但无法将其带到本地计算机。

P.S 我使用的是 Python 3.5 版

【问题讨论】:

    标签: python-3.x tensorflow amazon-s3 deep-learning neural-network


    【解决方案1】:

    到目前为止,没有任何深度学习框架支持从 s3 获取数据并进行训练,这可能是因为 s3 定价的原因。

    但是您可以在本地系统上挂载 S3

    请不要,对于每次读取/写入,您都将根据 aws s3 定价收费,https://aws.amazon.com/s3/pricing/

    【讨论】:

      【解决方案2】:

      Tensorflow 支持这一点(但我认为在夜间构建中不支持),请参阅 documentation。 假设您已按照描述配置凭据(例如 $HOME/.aws/credentials 或使用环境变量),您必须使用带有 s3 的 URL 作为协议,如

      s3://mybucket/some/path/words.tsv
      

      如果您在自己的代码中读取或写入文件,请确保不要使用任何 python IO,而是使用 Tensorflow 的 tf.io.gfile.GFile。类似地,列出目录使用例如tf.io.gfile.walktf.io.gfile.listdir

      从文档中的环境变量来看,我们只设置了AWS_REGION,但另外以下一些对于控制日志记录和避免超时很有用:

      export AWS_LOG_LEVEL=3
      export S3_REQUEST_TIMEOUT_MSEC=600000
      

      不过,如果您在 AWS 上运行训练,从 s3 读取训练数据通常是一个好主意。对于本地运行,通常最好将数据复制到本地驱动器,例如使用AWS CLIsync 命令。

      【讨论】:

        猜你喜欢
        • 2020-09-23
        • 2018-10-25
        • 1970-01-01
        • 2018-09-03
        • 1970-01-01
        • 1970-01-01
        • 2016-11-24
        • 2019-02-03
        • 2018-10-27
        相关资源
        最近更新 更多