代码之家  ›  专栏  ›  技术社区  ›  Roelant

Tensorflow从AWS s3 bucket读取数据

  •  0
  • Roelant  · 技术社区  · 4 年前

    我想从AWS s3 bucket流式传输我的数据文件。我正在按照描述的设置进行操作 here ,但使用tensorflow 2。

    安装程序指定您可以在中使用AWS配置文件 ~/.aws/credentials ,但我也尝试使用环境变量。然而,下面的烟雾测试一直给出以下错误 tensorflow.python.framework.errors_impl.UnimplementedError: File system scheme 's3' not implemented .

    from tensorflow.python.lib.io import file_io
    print(file_io.stat('s3://bucketname/key/'))
    
    0 回复  |  直到 4 年前
        1
  •  0
  •   Roelant    2 年前

    我发现自己几次回到了我的问题上。一般来说,当你遇到这种情况时,你正试图在Windows上与S3通信,而S3只在linux上实现。

    我的主要建议是,在训练数据方面不要这样做。 如果可能的话,尝试下载这些文件,因为这将是值得的开销 尤其是在使用sagemaker等工具时,这些工具在启动时有非常方便的数据下载方法。如果你真的需要快速启动和;读起来很快,值得一看 FSx for Lustre .

    我用过几次 smart_open 它在Windows和linux上运行良好。

    from smart_open import open
    with open("s3://bucket/key) as f:
       ...