[英]How to reset a variable in tensorflow?
我想执行一个图,更改单个变量的值,然后使用任何下游变量吸收的更改再次执行该图。 举个例子,
A = tf.distributions.Normal(0.0, 1.0)
B = tf.distributions.Normal(0.0, 1.0)
a = A.get_variable(name="a", initializer=A.sample)
b = B.get_variable(name="b", initializer=B.sample)
C = tf.distributions.Normal(a + b, 1.0)
c = C.get_variable(name="c", initializer=C.sample)
因此,如果我运行此图,
session.run(tf.global_variables_initializer())
with tf.Session() as session:
session.run([a, b, c])
我得到了a,b和c的一组值。 然后,说,我想重新初始化b,
session.run(b.initializer)
session.run([a, b, c])
这将重新初始化b的值,但是该更改不会传播到c。 由于b已更改,并且c依赖于b(通过C),因此我希望c重新初始化。
张量流有可能吗?
c
不依赖b
,其初始化程序依赖。 实际上,张量流中的变量不能依赖于其他变量。 重新初始化b
, c
的值不变。 但是,如果再次运行c
初始化程序,它将获取新值。 因此,只需:
session.run(b.initializer)
session.run(c.initializer)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.