当我使用EC2实例训练神经网络时,我需要在哪里存储训练数据集?

时间:2019-01-19 01:26:26

标签: amazon-web-services amazon-ec2

我有超过100 GB的图像数据集。

  1. 通常将它们存储在“ EC2实例的存储”或“ S3存储”中吗?

  2. 当我将火车数据集存储在EC2实例中时,只要我不终止该实例(我应该“停止”实例以将上传的数据集保留在EC2实例中),数据集会保留在该实例中吗?

  3. 当我应该将数据集存储在S3中时,是否需要挂载S3?

谢谢。

3 个答案:

答案 0 :(得分:2)

您是否考虑过使用Amazon SageMaker?将数据存储在S3中,在完全托管的基础架构上进行培训和部署。许多客户发现,这比管理自己的EC2实例要容易得多:)

https://aws.amazon.com/sagemaker/

我很想听听您的反馈并回答任何问题。

答案 1 :(得分:1)

S3是您在AWS上最便宜的数据存储选项,因此我建议您将培训数据存储在那里。

您不能真正在EC2实例中存储数据,可以将其存储在基础卷存储中。可以是EBS卷,也可以是实例存储卷。

如果您正在使用EBS卷,则可以配置它们在终止实例后的行为,因此您可以指定是否删除它们,这意味着即使终止EC2实例,您仍然可以保留卷,如果您选择的话。

在实例存储卷的情况下这是不可能的。当您终止EC2实例并且正在运行实例存储的后备EC2实例(具有实例实例存储根卷的EC2实例)时,这些实例将自动删除,您将无法停止它,并且如果发生任何故障,则所有临时实例存储卷上的数据丢失。

如果只关心操作的结果,则可以将结果上传到S3并终止实例。

是的,您可以将S3存储桶安装到EC2实例,也可以只使用S3 API发送数据。

所以我的建议是,将数据存储在S3中。准备好处理它时,启动EC2实例,从S3中提取数据(如果您的S3和EC2实例位于同一区域中,则此数据传输是免费的)。处理数据并将结果存储回S3。终止实例(如果下一个任务需要相同的设置,请停止该实例,或者为其创建AMI)。

这里要考虑的另一件事是您选择的卷的类型(SSD与HDD)。与一般的SSD相比,使用吞吐量优化的卷可能更合理(当然还有实例的类型,但是您需要衡量所选实例的性能,是否需要对其进行扩展或更改类型)。

答案 2 :(得分:1)

我认为您也可以使用EBS卷,然后再安装它,如果实例停止,则需要再次安装您的卷。 S3文件系统将为您提供相同的功能。我不会在S3中存储100 GB的数据,而不会使用S3 SDK,因为许多小文件上的GET请求可能会非常昂贵。