创建版本失败。模型验证失败:输入的外部尺寸必须未知,'input:0'的外部尺寸为1

时间:2019-04-08 08:57:06

标签: tensorflow tensor

我试图在GCP的ML-cloud中部署使用Tensorflow for Poets教程构建的模型。但是图中的输入节点仅接受1张图像作为输入。 ML云需要未知数量的输入来进行批处理。关于如何转换节点或其签名以支持此的任何想法?

with tf.gfile.GFile(graph_pb, "rb") as f:
    graph_def = tf.GraphDef()
    graph_def.ParseFromString(f.read())

sigs = {}
import numpy as np

with tf.Session(graph=tf.Graph()) as sess:
    # name="" is important to ensure we don't get spurious prefixing
    tf.import_graph_def(graph_def, name="")
    g = tf.get_default_graph()
    inp = g.get_tensor_by_name("input:0")
    out = g.get_tensor_by_name("final_result:0")
    sigs[signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY] = tf.saved_model.signature_def_utils.predict_signature_def({"in": inp}, {"out": out})
    print(sigs[signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY])
    builder.add_meta_graph_and_variables(sess,[tag_constants.SERVING], signature_def_map=sigs)

builder.save()

从实际图形的输入来看,签名的尺寸为1,但是期望没有值,以便可以在1个请求中发送任意数量的图像。

0 个答案:

没有答案