我正在尝试使用Dataset API向现有图形添加数据管道。使用tf.saved_model.loader.load
方法加载了模型。我可以使用feed_dict
提供输入,但是与Dataset API相比,它的速度很慢。
我能够加载图形,按名称捕获输入/输出节点,并通过feed_dict
将数据传递给图形来评估图形。
这是我到目前为止所拥有的
export_dir = "/path/to/saved/model"
img = load_as_numpy_array("/path/to/image/file")
with tf.Graph.as_default() :
with tf.Session() as sess :
tf.saved_model.loader.load(sess, tf.saved_model.tag_constants.TRAINING], export_dir)
#unique identifiers for this specific model
input_name = [n.name for n in tf.get_default_graph().as_graph_def().node if "hub_input" in n.name][0]
output_name = [n.name for n in tf.get_default_graph().as_graph_def().node if "hub_output" in n.name][0]
input_operation = tf.get_default_graph().get_operation_by_name(input_name)
output_operation = tf.get_default_graph().get_operation_by_name(output_name)
result = sess.run(output_operation.outputs[0], feed_dict={input_operation.outputs[0]: img})
print(result)
过去,我总是使用tf.import_graph_def
和input_map
tf.import_graph_def(graph_def, input_map={"MyInputTensor": input})
然而,似乎没有一种受支持的方法来与tf.saved_model.loader
一起使用此功能或类似功能