如何将输入X和y_pred传递给keras中的自定义丢失函数?

时间:2018-04-28 05:11:10

标签: python tensorflow keras

我想为keras创建一个自定义损失函数,它应该使用模型的输入X(numpy数组)和模型的y_pred来计算损失。我用过这个:

def customloss(x):
    def loss(x,y_pred):
       _img_based_on_pred = make_an_image_with_respect_to(y_pred)
       return distance(x,_img_basedon_pred)
    return loss

并传递如下参数:

_gen.compile(loss=[customloss(inputs)],optimizer='SGD',metrics=['accuracy'])

Keras会将inputs发送给自定义损失以及y_pred,但loss make_an_image_respect_to重新发送y_pred,它就像Tensor一样,我无法读取它。模型输出必须是一些浮点数,这是make_an_image_respect_to所需要的。

我该怎么办?要将输入样本和y_pred发送到自定义丢失函数吗?

PS: 我正在制作一个模型来从图像中提取一些参数。我想发回(丢失)输入图像和由模型估计的参数(使用函数)产生的图像之间的差异(距离函数)。

0 个答案:

没有答案