首页 > 解决方案 > AWS Sagemaker 无法训练我的 Keras 模型 - ErrorMemoryError: Unable to allocate 20 GiB for an array with shape and data type

问题描述

这是我第一次使用 AWS Sagemaker,所以我试图适应我的 keras 模型并一直得到这个错误。我不知道该如何解决,我尝试做 echo 1 > /proc/sys/vm/overcommit_memory 但内核死了。我使用的是 Sagemaker 最基本和最便宜的版本,我认为它有 4GB,可能是问题吗?但是我真的不知道用这个配置我可以把这个模型安装在我自己的电脑上,所以这意味着 Sagemaker 的功率比我的电脑少吗?谢谢。

标签: amazon-web-serviceskerasamazon-sagemaker

解决方案


对于需要存储 20GB 数组的模型,您可能希望使用类似 ml.t3.2xlarge 或 ml.m5.8xlarge 实例,它们有 32GB 可用内存。

有两种方法可以解决这个问题:

方法一

如果您使用的是 SM Studio IDE,则可以通过笔记本选项卡顶部的“切换实例类型”按钮从 SageMaker Studio 环境中进行选择。

完成此操作后,实例列表将出现在弹出窗口中,您需要单击“仅快速启动”选择器按钮,以便查看所有可用的实例类型。

方法二

或者,如果您使用的是没有 SageMaker Studio IDE 的“传统”SageMaker Jupyter 笔记本:

转到 SageMaker 主控制台。

单击笔记本-> 笔记本实例。

单击要更改其实例类型的笔记本的超链接。

这将带您进入“笔记本实例设置”页面。

单击“编辑”按钮(右上角)。

从“笔记本实例类型”下拉列表中选择新的、更大的实例类型。

向下滚动到页面底部,然后单击“更新笔记本实例”按钮。

这将带您回到笔记本实例列表。请注意,该列表将包含“更新”一词,在“状态”列中旁边有一个时钟图标。

如果几分钟后仍未刷新,请单击浏览器刷新按钮。

该实例现在应该显示为可用/服务中,新的实例大小/类型列在“实例”列中。

如果它没有启动,请单击“操作”列中的“启动”链接,它应该以新的实例类型开始。


推荐阅读