GCP& Tensorflow - 运行时错误预测失败

时间:2018-02-27 16:26:08

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

我使用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)]]")

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

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

2 个答案:

答案 0 :(得分:0)

看来这个问题是由于我的问题引用了不匹配。我在Datalab的脚本开头添加了以下代码行,现在它可以正常工作。

!pip install tensorflow==1.4

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

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

答案 1 :(得分:0)

Google Cloud支持在这里!

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

我代表您开了一个功能请求,您可以通过以下链接在Google问题跟踪器上跟踪它[1]

你可以使用&#34; star&#34;在公共问题跟踪器条目[1]的左上角,以获取有关请求状态的更新。

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