我有50TB未压缩的数据(图像),它们位于S3中的数十个tar.gz文件中。我在训练tensorflow模型的时候一次会用到十几个tar.gz文件。我想使用Sagemaker培训工作来提取这些数据并在培训前对其进行解压。这可能吗?在进行训练之前,我是否需要改变数据的存储方式?
简短回答:没有
长回答:在非常大的数据集上使用Sagemaker的推荐方法是使用Pipe API(与File API相反),它将数据流式传输到训练图像,而不是下载数据。为了利用Pipe API,数据需要在一种支持的文件类型中:文本记录、TFRecord或Protobuf
好处是
- 减少集装箱启动时的延迟
- 不需要将实例存储扩展到训练数据的大小
- 通过在模型训练之前移动大多数预处理来提高吞吐量
引用:
- https://aws.amazon.com/blogs/machine-learning/using-pipe-input-mode-for-amazon-sagemaker-algorithms/
- https://julsimon.medium.com/making-amazon-sagemaker-and-tensorflow-work-for-you-893365184233(这是一个很棒的资源,它回答了很多关于在非常大的数据集上使用Sagemaker的问题)
- https://julsimon.medium.com/deep -潜水- - tensorflow训练- -亚马逊sagemaker -和- amazon s3 - 12038828075 - c