在培训期间,我想写出最后N个小批量的平均损失,SummaryWriter以此来平滑非常嘈杂的批次损失.很容易在python中计算并打印它,但我想将它添加到摘要中,以便我可以在tensorboard中看到它.这是我现在正在做的一个过于简化的例子.
losses = []
for i in range(10000):
_, loss = session.run([train_op, loss_op])
losses.append(loss)
if i % 100 == 0:
# How to produce a scalar_summary here?
print sum(losses)/len(losses)
losses = []
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用ExponentialMovingAverage1.0的衰减,但我仍然需要一些方法来重置每N批次.真的,如果我所关心的只是可视化张量板中的损失,重置可能不是必要的,但我仍然很好奇如何出于其他原因(例如计算测试数据集的总体准确度)进行聚合大批量运行).
您可以手动构造Summary对象,如下所示:
from tensorflow.core.framework import summary_pb2
def make_summary(name, val):
return summary_pb2.Summary(value=[summary_pb2.Summary.Value(tag=name,
simple_value=val)])
summary_writer.add_summary(make_summary('myvalue', myvalue), step)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3022 次 |
| 最近记录: |