Google Cloud ML Engine错误429内存不足

时间:2018-03-15 16:05:59

标签: python tensorflow google-cloud-ml

我将我的模型上传到ML引擎,在尝试进行预测时,我收到以下错误:

ERROR: (gcloud.ml-engine.predict) HTTP request failed. Response: {   "error": {
    "code": 429,
    "message": "Prediction server is out of memory, possibly because model size is too big.",
    "status": "RESOURCE_EXHAUSTED"   } }

我的型号大小为151.1 MB。我已经完成了谷歌云网站上的所有建议操作,例如quantise。是否有可能的解决方案或任何其他可以使其起作用的事情?

由于

1 个答案:

答案 0 :(得分:1)

通常,此大小的模型不应导致OOM。由于TF进行了大量的延迟初始化,因此在第一次初始化数据结构的请求之前,不会检测到某些OOM。在极少数情况下,某些图形可能会在内存中爆炸10倍,从而导致OOM。

1)您是否始终看到预测错误?由于Tensorflow调度节点的方式,同一图表的内存使用量在运行期间可能不同。确保多次运行预测并查看每次是否为429。

2)请确保151.1MB是SavedModel目录的大小。

3)您也可以在本地调试峰值内存,例如在运行int main(int argc, char ** argl){ char res[100] ; while(1){ fgets(res, 100, stdin) ; if(!strcasecmp(res, "Hello")) {printf("Goodbye\n") ; return 0 ; } } } 时使用top或将模型加载到docker容器的内存中并使用docker stats或其他方式监控内存使用情况。您可以尝试使用tensorflow进行调试(https://www.tensorflow.org/serving/serving_basic)并发布结果。

4)如果发现内存问题仍然存在,请联系cloudml-feedback@google.com获取进一步的帮助,确保包含项目编号和相关帐户以便进一步调试。