使用Sage Maker进行图像分类时遇到内存不足错误

当我使用具有高达1TB内存的p2.xlarge或p3.2xlarge实例尝试在训练作业中使用预定义的SageMaker图像分类算法时,遇到了以下错误:

ClientError: Out of Memory. Please use a larger instance and/or reduce the values of other parameters (e.g. batch size, number of layers etc.) if applicable

我使用了450多张图片,我尝试将它们从原始的2000×3000像素大小调整到244×244像素大小,再到24×24像素大小,但仍然得到相同的错误。

我尝试调整了我的超参数:类别数量、层数、训练样本数量、优化器、图像形状、检查点频率、批量大小和轮次。还尝试使用预训练模型。但同样的错误不断发生。


回答:

本来想添加评论的,但我的声望还不够。

为了能有更多的背景信息,我有一些澄清性的问题:

你是如何实现1TB的RAM的?

  1. p2.xlarge服务器有61GB的RAM,而p3.2xlarge服务器有61GB的内存和Tesla V100 GPU上的16GB内存。

你是如何存储、调整大小并将图像输入到SageMaker算法中的?

  1. 考虑到即使将图像缩小到24×24时仍然发生内存错误,这似乎很可疑。如果你在内存中调整原始图像的大小(450张图像,2000×3000分辨率),并且没有进行原地转换(即:没有创建新图像),你可能已经预分配了大量的内存,导致SageMaker训练算法抛出内存不足错误。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注