amazon sagemaker 中的内存错误

问题描述 投票:0回答:3

预处理 s3 中存储的 2 GB 数据时,amazon sagemaker 出现内存错误。加载数据没有问题。数据维度为700万行64列。一种热编码也是不可能的。这样做会导致内存错误。 笔记本实例是ml.t2.medium。如何解决这个问题?

amazon-sagemaker
3个回答
7
投票

我假设您正在处理笔记本实例上的数据,对吗? t2.medium 只有 4GB RAM,因此很可能您只是内存不足。

您尝试过更大的实例吗?规格在这里:https://aws.amazon.com/sagemaker/pricing/instance-types/


0
投票

您可以在 https://forums.aws.amazon.com/forum.jspa?forumID=285 下剪切 AWS 论坛帖子吗?带着你的问题。这样,SageMaker 团队就能为您提供帮助。


0
投票

我相信您现在已经有了答案,了解这一点会很有趣。但是当我遇到类似的问题时,我们做了这些事情,并且稍微提高了性能。

  1. 我们使用 pandas 加载内存中的数据集,这是达到内存限制的主要原因。因此,我们首先清理了代码中所有未使用的变量,当时转移到了极坐标(但是今天有更好的方法)。
  2. 我们添加了一堆指标和内存分析器来帮助我们缩小导致限制的确切代码行范围。
  3. 我们最终开始批处理(性能受到轻微影响)。
  4. 最终迁移到 Kubernetes 而不是 sagemaker。尽管 sagemaker 可以处理这个问题,但由于我们观察到性能下降,我们无法转向迁移学习,而且我们觉得最终管理我们自己的基础设施会更容易,但它是在 EKS 上完成的。

回想起来,加载整个数据范围并不是最好的方法,主要的改进是使用批处理。

© www.soinside.com 2019 - 2024. All rights reserved.