0
我有兩個簡單的函數,如下所示。當我調用sim_train()時,我期望名稱和值應計算爲avg_mean和avg_variance。然而,輸出是這樣的----所有的值都是0,但是當我直接打印出avg_mean和avg_variance並且這些值是正確的。如何在Tensorflow中打印並加載所有變量的名稱和值
SSS/avg_mean:0 [ 0.]
SSS/avg_variance:0 [ 0.]
-2.5 1.25
當我打電話sim_test(),這也說明
SSS/avg_mean:0 [ 0.]
SSS/avg_variance:0 [ 0.]
有什麼辦法,我在sim_test使用正確的值()?謝謝
def sim_train():
x = tf.constant([-1,-2,-3,-4], tf.float32)
with tf.variable_scope("SSS"):
avg_mean = tf.get_variable(
'avg_mean', [1], tf.float32,
initializer=tf.constant_initializer(0.0, tf.float32))
avg_variance = tf.get_variable(
'avg_variance', [1], tf.float32,
initializer=tf.constant_initializer(0.0, tf.float32))
avg_mean, avg_variance = tf.nn.moments(x, [0], name='moments')
sess = tf.InteractiveSession()
sess.run(tf.global_variables_initializer())
allVars = tf.global_variables()
values = sess.run(allVars)
for var, val in zip(allVars, values):
print(var.name, val)
print(avg_mean.eval(), avg_variance.eval())
saver = tf.train.Saver()
saver.save(sess, "/tmp/test_EMA/sim_save.ckpt")
def sim_test():
#saver = tf.train.Saver()
sess = tf.InteractiveSession()
saver = tf.train.import_meta_graph('/tmp/test_EMA/sim_save.ckpt.meta')
saver.restore(sess, "/tmp/test_EMA/sim_save.ckpt")
allVars = tf.global_variables()
values = sess.run(allVars)
for var, val in zip(allVars, values):
print(var.name, val)
謝謝@Kochoba。你的解釋非常清楚,現在我的代碼工作。 – Brandon
@Brandon如果您發現我的答案有幫助,可以請您註冊。謝謝 – Kochoba
謝謝你,Kochoba。對不起,我只能接受答案。雖然我已經上了場,但它不會公開顯示,因爲根據通知,我的身份證的聲望很低。 – Brandon