【问题标题】:GCP & Tensorflow - Runtime Error Prediction FailedGCP 和 Tensorflow - 运行时错误预测失败
【发布时间】:2018-08-07 09:06:39
【问题描述】:

我使用 GCP Datalab 训练了一个模型,将其托管在 Cloud ML Engine 上,现在我正尝试从模型中请求预测。出于某种原因,我收到以下错误。

RuntimeError: Prediction failed: Error during model execution: AbortionError(code=StatusCode.INVALID_ARGUMENT, details="NodeDef mentions attr 'dilations' not in Op<name=Conv2D; signature=input:T, filter:T -> output:T; attr=T:type,allowed=[DT_HALF, DT_FLOAT, DT_DOUBLE]; attr=strides:list(int); attr=use_cudnn_on_gpu:bool,default=true; attr=padding:string,allowed=["SAME", "VALID"]; attr=data_format:string,default="NHWC",allowed=["NHWC", "NCHW"]>; NodeDef: cl-words-3/conv = Conv2D[T=DT_FLOAT, _output_shapes=[[-1,757,1,128]], data_format="NHWC", dilations=[1, 1, 1, 1], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/cpu:0"](embedding/ExpandDims, cl-words-3/W/read)
     [[Node: cl-words-3/conv = Conv2D[T=DT_FLOAT, _output_shapes=[[-1,757,1,128]], data_format="NHWC", dilations=[1, 1, 1, 1], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/cpu:0"](embedding/ExpandDims, cl-words-3/W/read)]]")

我怀疑我收到此错误是因为 Cloud ML Engine (v1.4) 和 Datalab (v1.5) 之间的 TensorFlow 版本不匹配。我怀疑这是因为我已经使用 TensorFlow v1.4 在 AWS SageMaker 上训练了一个模型,并且我能够将模型上传到 Cloud ML 并毫无问题地请求预测。

如何在 Datalab 中降级 TensorFlow 的版本?这可能是由版本不匹配以外的任何其他原因引起的吗?

【问题讨论】:

    标签: python tensorflow google-cloud-platform tensorflow-serving


    【解决方案1】:

    看来这个问题是由于我的问题中提到的不匹配造成的。我在 Datalab 中的脚本开头添加了以下代码行,现在它可以工作了。

    !pip install tensorflow==1.4
    

    我在这方面的知识不足,无法验证这是否是为 datalab 安装 tensorflow 1.4 的推荐方法,或者是否会出现环境冲突,但可以说明它可以解决问题。

    这似乎是 GCP 自己的产品套件之间存在很大的不兼容性,我认为他们需要修复。

    【讨论】:

      【解决方案2】:

      谷歌云支持在这里!

      我们的后台团队正在努力发布 TFv1.5。

      我已代表您提出功能请求,您可以通过点击此链接在 Google 问题跟踪器上跟踪它 [1]

      您可以使用 Public Issue Tracker 条目 [1] 左上角的“星号”来获取有关请求状态的更新。

      [1]https://issuetracker.google.com/issues/74319349

      【讨论】:

      • 感谢宝拉的回复。你知道他们是否已经改变了版本?在 v1.4 中的 datalab 训练并使用 Cloud ML 引擎后,我再次遇到类似的问题:RuntimeError: Prediction failed: Error during model execution: AbortionError(code=StatusCode.INVALID_ARGUMENT, details="NodeDef 提到 attr 'output_type' not在 Op output:int64.
      • 当前 Cloud ML Runtime Version 包括:Runtime Version 1.4 使用 TensorFlow 1.4.0 进行在线预测,使用 1.4.1 进行批量预测和训练。 Python 3.5 可用于运行时版本 1.4 的训练。适用于 Python 3 的 Ubuntu 软件包(在 Python 3 培训中运行时安装)。 cloud.google.com/ml-engine/docs/runtime-version-list
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-19
      • 2017-10-17
      • 2020-01-12
      • 1970-01-01
      • 2019-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多