0
如何獲得變量的當前值,同時確保它已被初始化? tf.Variable.initialized_value()
對初始值設定項有依賴性,每次訪問時都會導致變量重置爲初始值。爲了防止變量被重置,我試圖用tf.cond()
和tf.is_variable_initialized()
作爲謂詞。然而,這並不工作,因爲條件的真實分支需要的變量進行初始化,即使假分支有效:如何確保tf.Variable在使用其值時已初始化?
import tensorflow as tf
def once_initialized_value(variable):
return tf.cond(
tf.is_variable_initialized(variable),
lambda: variable.value(),
lambda: variable.initialized_value())
a = tf.Variable(42, name='a')
b = tf.Variable(once_initialized_value(a), name='b')
sess = tf.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(b)) # Error: Attempting to use uninitialized value a
我想你可以在下面的帖子找到了幾個很好的答案:http://stackoverflow.com/questions/35164529/in-tensorflow-is-there-any-辦法對剛剛初始化-U ninitialised變量 – Ali