【问题标题】:Create Version failed. Bad model detected with error: Model requires more memory than allowed创建版本失败。检测到错误的错误模型:模型需要的内存超出了允许的范围
【发布时间】:2020-02-10 04:23:08
【问题描述】:

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

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

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

有什么我不知道的变化吗?

【问题讨论】:

  • 模型的尺寸是多少?
  • 213mb 左右。绝对小于 250mb
  • 使用 Google Cloud 打开案例以确保没有发生基础架构更改可能是安全的
  • 我提交了一个错误,但没有。我认为谷歌关心他们的云客户issuetracker.google.com/issues/142580717
  • 嗨,Eric - 感谢您报告问题。使用 Cloud ML 解决您的问题对我们来说非常重要,我们正在研究它。让我回复你。

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


【解决方案1】:

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

检查您的项目 setup.py。我发现如果它上面有 tensorflow,那么在我的预测脚本的任何行运行之前部署过程都会失败。我删除了它,它起作用了。

您不需要安装 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',
      ])

【讨论】:

    【解决方案2】:

    我收到了来自 cloudml-feedback@google.com 的关于此问题的快速回复。我被告知要包含来自 http://storage.googleapis.com/cloud-ai-pytorch/readme.txt 的 pytorch。这似乎奏效了,但我仍然遇到变压器库的这个问题。如果我弄清楚如何在我的模型中包含转换器库而不会出错,我会更新。

    编辑:我使用pip wheel transformers 来获取 whl,但我看到它也为所有依赖项创建了一个。我必须将所有这些捆绑在一起,还是我可以只提供transformers.whl?无论如何,我仍然遇到同样的错误......

    【讨论】:

    • 您好,您解决了这个问题吗?我也遇到了与变压器相同的错误。您是如何使用 ai-platform 部署模型的?谢谢
    • 嗨,我当时确实让它工作了,但我正试图再次建立一个 PyTorch 模型并且遇到了问题。如果我想出任何办法,我会告诉你的。如果你最终让它工作,我很想聊一聊。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 2022-12-30
    • 2018-06-12
    相关资源
    最近更新 更多