【问题标题】:How to log out Keras custom loss component at the end of an epoch?如何在一个纪元结束时注销 Keras 自定义损失组件?
【发布时间】:2021-02-14 04:09:41
【问题描述】:
我有一个自定义损失函数,格式如下:
def CustomLoss(y_true,y_pred):
......
loss = loss1 + loss2 + loss3
return loss
如何在一个纪元结束时返回每个损失分量(loss1, loss2, loss3)?默认情况下,我只能观察损失。
通常,如果我们有多个输出,keras 可以很容易地显示出来。但是如何像我提到的那样显示价值组件?
【问题讨论】:
标签:
tensorflow
keras
deep-learning
tensorboard
loss-function
【解决方案1】:
编译模型时需要为每个损失分别创建一个函数,并将它们传递给metrics,如下所示
def CustomLoss():
......
return loss1() + loss2() + loss3()
def Loss1():
......
return value1
def Loss2():
......
return value2
def Loss3():
......
return value3
model.compile(optimizer=Adam(),
loss=CustomLoss,
metrics=[Loss1, Loss2, Loss3])