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

TensorFlow2.8训练打印loss值与history字典存储值不一致

TensorFlow 2.8.0训练指标打印值与history存储值不匹配问题

系统信息

  • 使用TensorFlow 2.8.0版本

当前行为描述

调用history = model.fit(...)完成训练后,history.history['loss']、history.history['accuracy']中存储的数值,与训练过程中每个epoch屏幕实时打印的对应数值存在差异。

编写自定义训练循环时,train_step()函数返回d_loss、g_loss两个损失值,调用model.fit()时两类输出数值不匹配:
训练过程屏幕实时打印日志如下:

Epoch 1/2
110/110 [==============================] - 33s 294ms/step - d_loss: -1.5941 - g_loss: 2.2890
Epoch 2/2
110/110 [==============================] - 32s 288ms/step - d_loss: -2.5873 - g_loss: 2.8013

读取history对象存储值的执行代码:

print([round(x, 4) for x in history_init.history['d_loss']])
print([round(x, 4) for x in history_init.history['g_loss']])

代码执行输出结果:

d_loss: [-2.7844, -2.2764]
g_loss: [2.4266, 3.3268]

预期行为

history字典存储的指标值应当与屏幕实时打印值完全一致,该表现与TensorFlow更早版本、其他参数配置场景下的正常表现相符。

补充说明

该问题此前已有相关讨论并提交过bug修复记录,但自TensorFlow 2.4.1版本后似乎再次复现。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 16:21:35