Roe*_*ant 6 python amazon-s3 tensorflow
我想从 AWS s3 存储桶流式传输我的数据文件。我遵循此处描述的设置,但使用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/'))
Run Code Online (Sandbox Code Playgroud)
我发现自己好几次又回到了自己的问题上。一般来说,当您遇到这种情况时,您正在尝试与 Windows 上的 S3 进行通信,而该功能仅在 Linux 上实现。
我的主要建议是在训练数据时不要这样做。如果可能,请尝试下载文件,因为这是值得的。特别是在使用像 sagemaker 这样的工具时,它有非常方便的方法在启动时下载数据。如果您确实需要快速启动和快速阅读,那么FSx for Lustre值得一看。
我用过几次smart_open,它在 Windows 和 Linux 上运行良好。
from smart_open import open
with open("s3://bucket/key) as f:
...
Run Code Online (Sandbox Code Playgroud)