向Keras.History对象添加验证的自定义损耗

3wabscal  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(103)

我有一个损失函数,其中包括几个贡献,即L=L1+L2+......。
我特别感兴趣的是L1、L2的个人发展......在学习过程中的训练和验证数据集。
如果我通过子类化(和Functional API)生成我的模型,并通过model.fit()执行训练,我如何将可能称为“val_L1”、“Val_L2”...的验证损失添加到历史对象?
谢谢你的帮助

yzxexxkh

yzxexxkh1#

这是我自己想出来的。我希望这能帮助将来同样在这个问题上挣扎的人。如果你把你的自定义模型定义为tf.keras.Model的子类,你必须通过def train_step (....):def test_step (...):使用函数“train_step”和“test_step”。“train_step”是用来描述训练过程的函数,根据model.fit()。
如果两个函数都返回:return {'L1':L1, 'L2':L2}历史记录对象将自动包含“val_L1”和“val_L2”

相关问题