【问题标题】:Is there a way to add keras 'custom layer' based/specific penalty to the overall loss function?有没有办法在整体损失函数中添加基于 keras '自定义层'的/特定的惩罚?
【发布时间】:2020-03-03 16:11:51
【问题描述】:

我有一个 keras 顺序模型,其中包含一些自定义层。现在在其中一个层中,基于该特定层的输入,我想计算一个惩罚,并且我希望将惩罚添加到优化器试图整体最小化的损失函数中。

我已经了解了tf.keras.layers.ActivityRegularization 的概念,但正在努力弄清楚如何解决我的问题。

【问题讨论】:

    标签: python tensorflow keras loss regularized


    【解决方案1】:

    如果要“加”,只需要计算层输出/损失,使用model.add_loss(loss_tensor)

    ....
    loss_tensor = MyCustomLayer(...)(layer_inputs)
    ....
    
    model = Model(model_inputs, model_outputs)
    model.add_loss(loss_tensor)
    model.compile(loss=any_normal_loss)
    

    【讨论】:

    • 太棒了 :) -- 欢迎来到 Stack Overflow。如果您认为您的问题的答案是好的,请将其标记为已回答。
    猜你喜欢
    • 2020-11-14
    • 2019-03-12
    • 2021-01-14
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 2021-12-18
    相关资源
    最近更新 更多