当我训练TensorFlow模型时,它通常会在每次迭代时打印类似于下面一行的信息第一个月打印的损失是模型当前看到的批次的损失,还是所有先前批次训练的运行平均损失?如果我使用批量大小为1,即如果每个批次中只有一个训练样本,那么打印的损失将分别针对每个样本,还是将其作为运行平均损失?
von4xj4u1#
Keras/TensorFlow进度条中报告的损失始终是迄今为止看到的批次的运行平均值,而不是每个批次的值。我不认为有一种方法可以在训练过程中看到每个批次的值。
4zcjmb1e2#
@史努比博士是对的,但如果你正在寻找更多的支持,在这里。在tf.keras.callbacks.Callback(here)的TF文档中,logs参数(例如on_train_batch_end方法),其可用于获得损失,声明“直到该批次的聚合度量结果”。因此,有理由相信损失是该时期中迄今为止看到的所有批次的平均值。此外,在this guide中,作者打印了每个批次的损失,并将其称为该批次的平均值,如“直到批次4,平均损失为213.47”。希望能帮上忙。我希望TF文档在这一点上更清楚一点。我和你有同样的问题,因为我试图在训练过程中获得每批甚至每样本的损失,但还没有找到一个好的解决方案。
tf.keras.callbacks.Callback
logs
on_train_batch_end
2条答案
按热度按时间von4xj4u1#
Keras/TensorFlow进度条中报告的损失始终是迄今为止看到的批次的运行平均值,而不是每个批次的值。
我不认为有一种方法可以在训练过程中看到每个批次的值。
4zcjmb1e2#
@史努比博士是对的,但如果你正在寻找更多的支持,在这里。
在
tf.keras.callbacks.Callback
(here)的TF文档中,logs
参数(例如on_train_batch_end
方法),其可用于获得损失,声明“直到该批次的聚合度量结果”。因此,有理由相信损失是该时期中迄今为止看到的所有批次的平均值。此外,在this guide中,作者打印了每个批次的损失,并将其称为该批次的平均值,如“直到批次4,平均损失为213.47”。
希望能帮上忙。我希望TF文档在这一点上更清楚一点。我和你有同样的问题,因为我试图在训练过程中获得每批甚至每样本的损失,但还没有找到一个好的解决方案。