2017-07-27 126 views
0

我有一些autoencoder。该模型现在不重要。假设这个模型需要输入一些图像并输出重建图像。在训练之后,我希望看到一个张量对输出的影响。另外,通过FIFOQueue将图像输入autoencoder。因此,运行下面的代码和平时:在Tensorflow中输入隐藏张量

reconstructed_image = sess.run([deconv_image], feed_dict={mu:my_vector}) 

其中deconv_image是输出模型的tensormu是模型内的隐藏张量;将自动从Queue的图像中提供图像。

我的问题是:mu里面的值是否会被来自输入图像的内容所替代,或者它将使用feed_dict参数提供的向量。

任何帮助非常感谢!

回答

0

当运行最终张量时,即评估图的最后张量时,它将运行它所依赖的所有张量。因此,如果我们有y3操作取决于y2y2取决于y1,那么运行图中的最终张量将导致y1先运行,然后在y2y1获得其输入后评估,最后,输出y2将输入y3。此图可能如下:y1 -> y2 -> y3

另一方面,我可以运行(评估)y3直接使用feed_dict参数提供其输入。在这种情况下,对y2y1进行评估。

例:

import tensorflow as tf 
import numpy as np 

x = np.array([1.0, 2.0, 3.0]) 

x_var = tf.Variable(x, dtype=tf.float32) 

y1 = tf.square(x_var) 
y2 = tf.subtract(y1, tf.constant(1.0)) 

init_op = tf.global_variables_initializer() 

with tf.Session() as sess: 
    sess.run(init_op) 

    print(sess.run(y2)) # Output: [ 0. 3. 8.] 
    print(sess.run(y2, feed_dict={y1: [1.0, 1.0, 1.0]}))# Output: [ 0. 0. 0.]