使用saved_model loader从文件加载后的图形手术

时间:2019-04-04 14:51:01

标签: python tensorflow machine-learning

我正在尝试使用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_definput_map

做这样的事情
tf.import_graph_def(graph_def, input_map={"MyInputTensor": input})

然而,似乎没有一种受支持的方法来与tf.saved_model.loader一起使用此功能或类似功能

0 个答案:

没有答案