【问题标题】:Training a model with single output on multiple losses keras在多个损失 keras 上训练具有单个输出的模型
【发布时间】:2020-02-29 16:57:19
【问题描述】:

我正在使用 keras 构建图像分割模型,我想在多个损失函数上训练我的模型。我已经看到this 链接,但我正在为这种情况寻找一种更简单直接的解决方案,因为我的损失函数非常复杂。有人可以告诉我如何在 keras 中构建具有多个损失的单一输出模型。

【问题讨论】:

    标签: python tensorflow keras deep-learning loss-function


    【解决方案1】:

    您可以使用加权损失在一个输出中使用多个损失,这是您的损失乘以权重的总和。创建您的自定义损失,它将返回带有系数的其他损失的总和并将其传递给model.compile。有一个例子here

    【讨论】:

      【解决方案2】:

      这只是here 的一个例子。你可以玩弄它。

      def custom_losses(y_true, y_pred):
          alpha = 0.6
          squared_difference = tf.square(y_true - y_pred)
          Huber = tf.keras.losses.huber(y_true, y_pred)
          return tf.reduce_mean(squared_difference, axis=-1) + (alpha*Huber)
      
      model.compile(optimizer='adam', loss=custom_losses,metrics=['MeanSquaredError'])
      

      【讨论】:

        猜你喜欢
        • 2019-11-21
        • 2021-08-13
        • 2021-03-24
        • 2020-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-27
        • 2019-09-27
        相关资源
        最近更新 更多