You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TensorFlow Estimator打印的Loss/MAE对应何种数据集的计算结果?

关于TensorFlow Estimator训练日志中loss与MAE的计算说明

嘿,作为刚入门深度学习的同学,你的这个问题其实非常关键——搞清楚训练日志里的指标计算方式,能帮你更好地监控模型训练状态~下面针对你的疑问逐一解释:

1. 日志中的loss(以及cross_entropy)

  • 你看到的loss = 2.2080934和单独打印的cross_entropy = 2.2080934是同一个数值,只是ResNet的包装函数把交叉熵损失单独做了打印。它们既不是单样本损失,也不是整个训练集的损失,而是当前训练step对应的批量(batch)样本的平均损失。
  • 训练时模型是按batch喂入数据的,每一个step对应处理一个batch的数据,这个loss就是该batch内所有样本损失值的平均值。

2. 日志中的MAE

  • 同样的,这里的MAE = 5.135024也是基于当前这个训练batch计算的平均绝对误差,不是验证集或全训练集的整体指标。
  • 默认情况下,TensorFlow Estimator在训练阶段打印的评估指标,都是针对当前正在处理的训练batch的结果。如果想要获取全训练集或验证集的MAE,你需要在Estimator的配置中添加EvalSpec,设置定期评估的逻辑,那时打印的指标才是对应数据集的整体计算结果。

额外细节补充

  • 日志里的learning_rate = 3.552962e-05是当前step使用的学习率(大概率是因为配置了学习率衰减策略,所以随着step增加逐渐降低)。
  • 末尾的(62.295 sec)是从训练启动到当前step累计消耗的时间。

内容的提问来源于stack exchange,提问作者Vegetal605

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:18:00