繁体   English   中英

如何在张量流中重置变量?

[英]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 ,其初始化程序依赖。 实际上,张量流中的变量不能依赖于其他变量。 重新初始化bc的值不变。 但是,如果再次运行c初始化程序,它将获取新值。 因此,只需:

session.run(b.initializer)
session.run(c.initializer)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM