Google Cloud ML Engine"内存不足"内存利用率几乎为零时出错

时间:2017-07-28 22:09:46

标签: tensorflow google-cloud-platform google-cloud-ml-engine

我正在跟随Tensorflow Object Detection API tutorial在我自己的Google Cloud数据集上训练更快的R-CNN模型。但是以下内容"内存不足"错误不断发生。

The replica master 0 ran out-of-memory and exited with a non-zero status of 247.

根据日志,返回了非零退出状态-9。如the official documentation中所述,代码-9可能意味着培训使用的内存多于分配的内存。

但是,内存利用率低于0.2。那么为什么我有内存问题呢?如果有帮助,the memory utilization graph is here.

3 个答案:

答案 0 :(得分:3)

内存利用率图表是所有工作人员的平均值。在内存不足错误的情况下,也不能保证最终数据点被成功导出(例如,存储器中的巨大突然峰值)。我们正在采取措施使内存利用率图更有用。

如果您正在使用Master进行评估(如大多数示例中所示),则Master使用相对于普通worker的~2x RAM。您可以考虑使用large_model machine type

答案 1 :(得分:0)

查看您的错误,您的ML代码似乎消耗了最初分配的内存。

尝试使用允许更多内存的机器类型,例如“large_model”或“c​​omplex_model_l”。使用config.yaml定义如下:

trainingInput:
 scaleTier: CUSTOM
 # 'large_model' for bigger model with lots of data
 masterType: large_model
 runtimeVersion: "1.4"

有一个类似的问题Google Cloud machine learning out of memory。请参考该链接以获取实际解决方案。

答案 2 :(得分:0)

running_pets教程使用BASIC_GPU层,因此GPU可能内存不足。 ML引擎上的图表目前仅显示CPU内存利用率。

如果是这种情况,将层级更改为更大的GPU将解决问题。 Here是关于不同层级的一些信息。 在同一页面上,您将找到有关如何配置它的yaml文件的示例。