簡體   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