我试图在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个请求中发送任意数量的图像。