Python Tensorflow2.3:所有连续时期之间的损失急剧减少?

Python Tensorflow2.3:所有连续时期之间的损失急剧减少?,python,tensorflow,Python,Tensorflow,我正在尝试在Tensorflow中实现学习率测距仪(后面是)。 我通过一个自定义回调成功地使它工作,从技术方面看,似乎一切都很好。我通过模型日志访问损失,这可能是它出错的地方 在检查结果时,我意识到这并不完全正确,因为Tensorflow似乎在各个时期(而不是在两个时期之间)累积了损失,导致了各个时期之间的跳跃。(黑线标志着每个时代的开始) 虽然我仍然可以粗略估计学习率的范围,但这绝对不是我想要的结果 是否有方法从回调中访问每个批次的损失值,以避免这些跳跃并获得准确的曲线? 我可以对数据进行过度

我正在尝试在Tensorflow中实现学习率测距仪(后面是)。 我通过一个自定义回调成功地使它工作,从技术方面看,似乎一切都很好。我通过模型日志访问损失,这可能是它出错的地方

在检查结果时,我意识到这并不完全正确,因为Tensorflow似乎在各个时期(而不是在两个时期之间)累积了损失,导致了各个时期之间的跳跃。(黑线标志着每个时代的开始)

虽然我仍然可以粗略估计学习率的范围,但这绝对不是我想要的结果

是否有方法从回调中访问每个批次的损失值,以避免这些跳跃并获得准确的曲线? 我可以对数据进行过度采样,并在一个历元内运行模型以避免跳跃,但如果Tensorflow在报告损失时聚合了多个更新,这可能实际上无法解决问题

其他详情: 我确实在训练中使用了自定义损耗,但它几乎完全基于
tf.keras.backend.binary\u crossentropy
,只需要对模型输出/地面真值的形状进行一些操作(主要是删除大小为1的轴和标签平滑)。 输出是由
tf获得的每批一个值。在
binary\u cross\u entropy
返回的数组上减少\u mean
,并且我在训练期间不使用不同的批大小。所以我不希望这种情况改变