【问题标题】:Taking an Arbitrary Power for a Keras Loss Function对 Keras 损失函数取任意幂
【发布时间】:2021-01-10 05:05:27
【问题描述】:

我正在尝试在 Keras 上构建一个自定义损失函数,我可以在其中选择 y_true 和 y_pred 之间减法的幂,其中 y_true 和 y_pred 是它们关于 keras 损失函数的标准定义。换句话说,我想要一个看起来像

的损失函数

|y_{true} - y_{pred})^n|

其中 n 是我可以选择的数字。如果 n 是整数,我可以使用 tf.keras.backend.pow 来制作我的损失函数:

def power_loss(power):
    
    def loss(y_true, y_pred):
        return K.abs(K.pow(y_true - y_pred, power))
    
    return loss

但是如果 n 不是整数(例如 n=1.5),你怎么能做到这一点呢?

【问题讨论】:

    标签: python tensorflow keras


    【解决方案1】:

    tf.keras.backend.pow 计算任意幂。您需要将两个参数都转换为浮点数据类型。

    import tensorflow.keras.backend as K
    K.pow(2.0, 2.5)
    

    给予

    5.656854
    

    【讨论】:

      猜你喜欢
      • 2018-10-10
      • 2019-04-11
      • 1970-01-01
      • 2018-10-21
      • 2021-05-23
      • 2020-12-19
      • 2016-03-11
      • 2017-12-18
      • 2020-03-27
      相关资源
      最近更新 更多