【发布时间】:2020-02-29 16:57:19
【问题描述】:
我正在使用 keras 构建图像分割模型,我想在多个损失函数上训练我的模型。我已经看到this 链接,但我正在为这种情况寻找一种更简单直接的解决方案,因为我的损失函数非常复杂。有人可以告诉我如何在 keras 中构建具有多个损失的单一输出模型。
【问题讨论】:
标签: python tensorflow keras deep-learning loss-function
我正在使用 keras 构建图像分割模型,我想在多个损失函数上训练我的模型。我已经看到this 链接,但我正在为这种情况寻找一种更简单直接的解决方案,因为我的损失函数非常复杂。有人可以告诉我如何在 keras 中构建具有多个损失的单一输出模型。
【问题讨论】:
标签: python tensorflow keras deep-learning loss-function
您可以使用加权损失在一个输出中使用多个损失,这是您的损失乘以权重的总和。创建您的自定义损失,它将返回带有系数的其他损失的总和并将其传递给model.compile。有一个例子here。
【讨论】:
这只是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'])
【讨论】: