今天看代码的时候遇到一个tensorflow的东东,就查了一下,发现了一个比较生疏的东东,就是如下这个:
看了之后就查了一下是干啥的,有一个解释的很清楚,我就自己跑了一下代码示例,果然是这样的,记录一下:
import tensorflow as tf
g = tf.Graph()
with g.as_default():
x = tf.Variable(1.0, name='x')
x_plus_1 = tf.assign_add(x, 1, name='x_plus')
with tf.control_dependencies([x_plus_1]):
y = x
z=tf.identity(x,name='z_added')
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for i in range(5):
print(sess.run(z))
# 输出 2,3,4,5,6
# 如果改为输出 print(sess.run(y)) ,则结果为 1,1,1,1,1
那个地方的y确实是不更新的。
(原创的地址在这里:Tensorfow中使用tf.identity()的作用_David's Tweet-CSDN博客_tf.identity())