【问题标题】: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])
    

    【讨论】:

      猜你喜欢
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-18
      • 2020-12-19
      • 2017-12-18
      相关资源
      最近更新 更多