自定义损失函数,带梯度计算

时间:2019-04-26 16:46:49

标签: tensorflow keras

我正在尝试在Keras中创建自定义损失函数。我想根据神经网络的输入和预测输出来计算损失函数。我创建了自定义损失函数,该函数使用y_truey_predt作为参数。 t是我要用于自定义损失函数计算的变量。我在损失函数中有两个部分(请参考所附图片)

我可以创建损失函数的第一部分(均方误差)。我想对y_pred张量进行切片并将其分配给三个张量(y1_predy2_predy3_pred)。有没有办法直接在Keras中做到这一点,或者我必须为此使用tensorflow?如何计算喀拉拉邦的梯度?我需要创建一个会话来计算loss2吗?

def customloss(y_true, y_pred, t):
    loss1 =  K.mean(K.square(y_pred - y_true), axis=-1)
    loss2 = tf.gradients(y1_pred, t) - y1_pred*y3_pred
    return loss1+loss2

谢谢。enter image description here

0 个答案:

没有答案