【问题标题】:Google Cloud MLEngine Prediction Error 429谷歌云 MLEngine 预测错误 429
【发布时间】:2018-05-25 17:10:14
【问题描述】:

我正在使用 Tensorflow 和 MLEngine。
基于faster_rcnn_resnet101_coco_11_06_2017,我使用Object Detection API训练了一个带有自定义数据的模型。

导出的模型大小为 190.5MB。

本地预测工作正常。但是 MLEngine 在使用 gcloud 时给了我以下错误:

"error": {
    "code": 429,
    "message": "Prediction server is out of memory, possibly because model size 
    is too big.",
    "status": "RESOURCE_EXHAUSTED"
 }

使用NodeJS client library时出现以下错误:

code: 429,
errors: 
 [ { message: 'Prediction server is out of memory, possibly because model size is too big.',
     domain: 'global',
     reason: 'rateLimitExceeded' } ] }

我用于测试预测的图像是尺寸为 700px*525px (365kb) 和 373px*502px (90kb) 的 PNG

我不确定如何进行。
对象检测是否需要比 MLEngine 提供的更多内存?
模型的大小真的是这里的问题吗?我该如何改进?

感谢您的帮助和想法!

【问题讨论】:

    标签: tensorflow object-detection google-cloud-ml


    【解决方案1】:

    有一个page in documentation 解释了如何在在线预测的上下文中解释 http 状态代码。在这种特殊情况下,运行模型的节点内存不足(另请参阅this 对使用 ML 引擎的 googler 的旧问题的回答)。建议的解决方案是减少模型大小和/或使用更小的批量大小(默认设置为64 records per batch)。考虑到您的模型已经小于maximum 250 MB,您可能需要先考虑后一种解决方案。

    【讨论】:

    • 非常感谢您的回复!目前我的批次只包含一个实例。也许模型存储库中的管道配置不适合与 MLEngine 一起使用? github.com/tensorflow/models/blob/master/research/…
    • 还有this较早的答案,你能确定你已经浏览了那里共享的列表吗?
    • 1) 错误与此模型一致 2) ~190mb 是 saved_model 目录的大小 3) 使用 top 我可以看到 python 在 gcloud ml-engine local predict 期间使用超过 3gb 的内存跨度>
    • 通常这种大小的模型不会导致 OOM。但是:tensorflow做了很多惰性初始化,所以有些OOM直到第一个初始化数据结构的请求才会被检测到。这种情况很少见,但可能是图表在内存中爆炸导致 OOM。因此,没有足够的信息来确定根本原因是什么。此时,我建议您重新运行所有内容并在 Public Issue Tracker 中使用您的项目 number 提出一个私人问题,从而提供对日志的访问(注意:我支持 GCP)跨度>
    • 非常感谢您一直以来的支持!一旦我有时间,我将再次部署一个基于更快的 rcnn / resnet101 的内存饥饿模型并提出一个私人问题。现在我用不同的配置(更快的 rcnn / inception v2)训练了另一个模型,它很好地保持在内存限制内。我会接受你的回答,我认为这里有足够的信息可供遇到此问题的人使用!
    猜你喜欢
    • 2022-10-15
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 2014-10-16
    • 2018-08-31
    • 2017-11-07
    相关资源
    最近更新 更多