请考虑以下代码:
x = tf.placeholder(tf.float32, (), name='x') z = x + tf.constant(5.0) y = tf.mul(z, tf.constant(0.5)) with tf.Session() as sess: print(sess.run(y, feed_dict={x: 30}))
结果图是x - > z - > y.有时候我很感兴趣从x开始计算y,但有时候我有z开始并希望将这个值注入图中.所以z需要像部分占位符一样运行.我怎样才能做到这一点?
(对于任何有兴趣我为什么需要这个的人.我正在使用自动编码器网络观察图像x,生成中间压缩表示z,然后计算图像y的重建.我想看看当我注入不同时网络重建的内容z的值.)
使用默认的占位符,方法如下:
x = tf.placeholder(tf.float32, (), name='x') # z is a placeholder with default value z = tf.placeholder_with_default(x+tf.constant(5.0), (), name='z') y = tf.mul(z, tf.constant(0.5)) with tf.Session() as sess: # and feed the z in print(sess.run(y, feed_dict={z: 5}))
傻我.