我使用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的版本?这可能是由版本不匹配之外的任何其他原因引起的吗?
答案 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]的左上角,以获取有关请求状态的更新。