Python 如何在tensorflow中重置变量?

Python 如何在tensorflow中重置变量?,python,variables,tensorflow,initializer,Python,Variables,Tensorflow,Initializer,我想执行一个图,更改单个变量的值,然后再次执行该图,并将更改吸收到任何下游变量中。例如, A=tf.分布.正态(0.0,1.0) B=tf.正态分布(0.0,1.0) a=a.get_变量(name=“a”,初始值设定项=a.sample) b=b.get_变量(name=“b”,初始值设定项=b.sample) C=tf.正态分布(a+b,1.0) c=c.get_变量(name=“c”,初始值设定项=c.sample) 所以,如果我运行这个图表 session.run(tf.global\

我想执行一个图,更改单个变量的值,然后再次执行该图,并将更改吸收到任何下游变量中。例如,

A=tf.分布.正态(0.0,1.0)
B=tf.正态分布(0.0,1.0)
a=a.get_变量(name=“a”,初始值设定项=a.sample)
b=b.get_变量(name=“b”,初始值设定项=b.sample)
C=tf.正态分布(a+b,1.0)
c=c.get_变量(name=“c”,初始值设定项=c.sample)
所以,如果我运行这个图表

session.run(tf.global\u variables\u initializer())
使用tf.Session()作为会话:
会话运行([a,b,c])
我得到了a,b和c的一组值。然后,我想重新初始化b

session.run(b.初始值设定项)
会话运行([a,b,c])
这将重新初始化b的值,但该更改不会传播到c。由于b已更改,并且c依赖于b(通过c),所以我希望c重新初始化


这在tensorflow中可能吗?

c
不依赖于
b
,它的初始值设定项依赖于。事实上,tensorflow中的变量不能依赖于其他变量。重新初始化
b
后,
c
的值不会改变。但是如果再次运行
c
初始值设定项,它将拾取新值。因此,只要做:

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

为什么变量不能依赖于其他变量?不。它们可以独立改变,这就是为什么它们是变量