首页 > 解决方案 > gzip tar 文件可以用于 Sagemaker 中的训练数据吗?

问题描述

我在 S3 的数十个 tar.gz 文件中有 50TB 的未压缩数据(图像)。我一次用十几个这样的 tar.gz 文件训练 tensorflow 模型。我想使用 Sagemaker 训练作业来提取这些数据并在训练前解压。这可能吗?在进行训练之前,我是否必须更改数据的存储方式?

标签: pythonamazon-web-servicesamazon-sagemaker

解决方案


简短的回答:没有

长答案:将 Sagemaker 与非常大的数据集一起使用的推荐方法是使用 Pipe API(而不是 File Api),它将数据流式传输到训练图像而不是下载数据。要利用 Pipe API,数据需要采用一种受支持的文件类型:文本记录、TFRecord 或 Protobuf

好处是

  1. 减少容器启动时的延迟
  2. 不需要将实例存储扩展到训练数据的大小
  3. 通过在模型训练之前移动大部分预处理来提高吞吐量

参考:

  1. https://aws.amazon.com/blogs/machine-learning/using-pipe-in​​put-mode-for-amazon-sagemaker-algorithms/
  2. https://julsimon.medium.com/making-amazon-sagemaker-and-tensorflow-work-for-you-893365184233(这是一个很棒的资源,它回答了很多关于在非常大的数据集上使用 Sagemaker 的问题)
  3. https://julsimon.medium.com/deep-dive-on-tensorflow-training-with-amazon-sagemaker-and-amazon-s3-12038828075c

推荐阅读