我将我的模型上传到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。是否有可能的解决方案或任何其他可以使其起作用的事情?
由于
答案 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获取进一步的帮助,确保包含项目编号和相关帐户以便进一步调试。