keras tensorflow打印的损失是批次/样本损失还是运行平均损失?

xfb7svmp  于 2023-08-06  发布在  其他
关注(0)|答案(2)|浏览(134)

当我训练TensorFlow模型时,它通常会在每次迭代时打印类似于下面一行的信息
第一个月
打印的损失是模型当前看到的批次的损失,还是所有先前批次训练的运行平均损失?
如果我使用批量大小为1,即如果每个批次中只有一个训练样本,那么打印的损失将分别针对每个样本,还是将其作为运行平均损失?

von4xj4u

von4xj4u1#

Keras/TensorFlow进度条中报告的损失始终是迄今为止看到的批次的运行平均值,而不是每个批次的值。
我不认为有一种方法可以在训练过程中看到每个批次的值。

4zcjmb1e

4zcjmb1e2#

@史努比博士是对的,但如果你正在寻找更多的支持,在这里。
tf.keras.callbacks.Callbackhere)的TF文档中,logs参数(例如on_train_batch_end方法),其可用于获得损失,声明“直到该批次的聚合度量结果”。因此,有理由相信损失是该时期中迄今为止看到的所有批次的平均值。
此外,在this guide中,作者打印了每个批次的损失,并将其称为该批次的平均值,如“直到批次4,平均损失为213.47”。
希望能帮上忙。我希望TF文档在这一点上更清楚一点。我和你有同样的问题,因为我试图在训练过程中获得每批甚至每样本的损失,但还没有找到一个好的解决方案。

相关问题