作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在训练期间,我想将最后 N 个 mini-batch 的平均损失写入 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 = []
我知道我可以使用衰减为 1.0 的 ExponentialMovingAverage
,但我仍然需要某种方法来每 N 个批处理重置一次。真的,如果我关心的只是可视化 tensorboard 中的损失,那么重置可能是不必要的,但我仍然很好奇如何出于其他原因跨批处理进行聚合(例如,计算测试数据集的总准确度太大批量运行)。
最佳答案
您可以手动构造 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)
关于tensorflow - 在 tensorflow 中计算多批处理的精确移动平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35714995/
我是一名优秀的程序员,十分优秀!