创建版本失败。检测到错误的模型并出现错误:模型所需的内存超出了允许的范围

时间:2019-10-13 07:55:17

标签: google-cloud-platform gcloud google-cloud-ml

两天前,我能够上传多个ML模型(带有自定义预测例程)而没有任何问题。

昨晚,我开始收到预测响应错误:“预测服务器内存不足,可能是因为模型太大。”

我今天尝试上载完全相同的模型和自定义预测例程,现在收到错误“创建版本失败。检测到错误的模型,并显示错误:模型所需的内存超出了允许的范围。请尝试减小模型的大小,然后重新部署。如果仍然出现错误,请与Cloud ML联系。”

我不知道有什么变化吗?

2 个答案:

答案 0 :(得分:1)

这花了我超过一天的时间来解决...不幸的是。

检查您的项目setup.py。我发现,如果上面有张量流,则部署过程将在运行我的预测脚本的任何行之前失败。我将其删除,并且有效。

您不需要安装tensorflow,因为它已经在运行时中了。我的猜测是由setup.py脚本使用tensorflow分配的内存太大,导致部署过程失败。

该错误消息完全令人误解,应予以修补。

从此:

from setuptools import setup

setup(name="my-project",
      version='0.0.1',
      scripts=['project/predict/predictor.py'],
      install_requires=[
          'pika==0.12.0',
          'unidecode==1.1.0',
          'tensorflow'
      ])

对此:

from setuptools import setup

setup(name="my-project",
      version='0.0.1',
      scripts=['project/predict/predictor.py'],
      install_requires=[
          'pika==0.12.0',
          'unidecode==1.1.0',
      ])

答案 1 :(得分:-1)

我从cloudml-feedback@google.com收到了关于此问题的迅速回应。有人告诉我包括http://storage.googleapis.com/cloud-ai-pytorch/readme.txt中的pytorch。这似乎已经奏效,但是我在变压器库中仍然遇到这个问题。如果能弄清楚如何在模型中包括转换器库,而不会出现错误,我将进行更新。

编辑:我使用library(dplyr) library(tidyr) data.raw %>% complete(x = seq(min(x), max(x))) %>% mutate(S = zoo::na.approx(S)) # A tibble: 28 x 2 # x S # <dbl> <dbl> # 1 66 0.118 # 2 67 0.116 # 3 68 0.115 # 4 69 0.114 # 5 70 0.112 # 6 71 0.111 # 7 72 0.110 # 8 73 0.109 # 9 74 0.108 #10 75 0.108 # … with 18 more rows 来获取whl,但是我看到它也为所有依赖项创建了一个。我是否必须将所有这些捆绑在一起,还是可以只提供transformers.whl?无论如何,我仍然遇到相同的错误...