我是Tensorflow的新手,正在运行一个基本的CNN。作为一种可视化培训过程的方法,我构建了一个具有损失和准确性的摘要,以便稍后在Tensorboard中查看:
tf.summary.scalar("loss", cost)
tf.summary.scalar("accuracy", accuracy)
我将摘要初始化如下。 (get_logdir_string()返回由给定参数和当前日期时间组成的唯一字符串)
merged_summary_op = tf.summary.merge_all()
summary_writer = tf.summary.FileWriter(get_logdir_string('CIFAR10'),
graph=tf.get_default_graph())
然后,对于每个小批量迭代,我这样做:
_, summary = sess.run([optimizer, merged_summary_op], feed_dict={x: batch_x,
y_true: batch_y,
keep_prob: dropout})
summary_writer.add_summary(summary, step * batch_size)
然后我运行Tensorboard并呈现类似下面的内容,其中只有每个变量的第一个(没有后缀)包含数据: Screenshot
之前有没有遇到过这个?谢谢!
答案 0 :(得分:3)
我找到了罪魁祸首,并认为我会将其发布在此处以供将来参考。
事实证明我需要在每次运行之前调用tf.reset_default_graph()
。