张量板上显示的标量摘要不正确

Incorrect scalar summary being shown on tensorboard

我正在尝试随机生成 100 个唯一数字,然后将它们写为摘要。但是,总结作者每次写变量的默认值。

import warnings
with warnings.catch_warnings():
    warnings.filterwarnings("ignore", category=FutureWarning)
    import tensorflow as tf

tf.compat.v1.reset_default_graph()
x = tf.compat.v1.Variable(name="X", shape=[], initial_value=0.0)
summary = tf.compat.v1.summary.scalar("X_summary", x)
summary_op = tf.compat.v1.summary.merge_all()

with tf.compat.v1.Session() as sess:
    sess.run(tf.compat.v1.global_variables_initializer())
    writer = tf.compat.v1.summary.FileWriter("train_dir", sess.graph)
    for step in range(100):
        x = tf.random.normal(stddev=0.01, shape=[1])
        x, summary_ = sess.run([x, summary_op])
        writer.add_summary(summary_, step)

总结作者把所有的值都写成0,谁能帮我指出错误?

试试这个: 我正在为变量声明提供一个初始值设定项,它将产生一个随机的正常值,而在您只提供默认值零之前。

import tensorflow as tf
tf.reset_default_graph()   
x_scalar = tf.get_variable('x_scalar', shape=[], initializer=tf.truncated_normal_initializer(mean=0, stddev=1))
first_summary = tf.summary.scalar(name='normal_x', tensor=x_scalar)
init = tf.global_variables_initializer()
with tf.Session() as sess:
    writer = tf.summary.FileWriter('./train_dir', sess.graph)
    for step in range(100):
        sess.run(init)
        summary = sess.run(first_summary)
        writer.add_summary(summary, step)