多次仅运行部分tensorflow图

时间:2018-10-09 13:24:29

标签: tensorflow

我有2个模型的级联,其中Model1的输出馈入Model2。 Model2也接受第二个输入,我的目标是每次使用不同的第二个输入多次评估Model2。有没有一种方法可以只运行部分图形,而不必每次都重新运行整个图形?以下是我希望代码执行的操作的框架。 Model1是很大的模型,而Model2是很小的模型。但是,由于它每次都会评估整个图,因此它非常慢,并且更不用说召回队列了,因此每次也都提供新图像。

# An image reader class that pulls images from a queue
reader = ImageReader(args)
image_batch = reader.dequeue(1)

# Model 1
net1 = Model1({'input': image_batch})
net1_output = net1.layers['model1_out']

# Model 2
second_input = tf.placeholder(dtype=np.int16, shape=())
net2 = Model2({'input1': net1_output, 'input2': second_input)
net2_output = net2.layers['model2_out']

# Running the session
with sess as tf.Session():
    n1_out = sess.run(net1_output)
    for i in range(100):
        n2_out = sess.run(net2_output, feed_dict={input1: n1_out, input2: i})

0 个答案:

没有答案