我想为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 发送给customloss以及y_pred,但是在 lossmake_an_image_respect_to 重现 y_pred ,它是Tensor而我无法读取它 . 模型输出必须是一些浮点数,这是我需要 make_an_image_respect_to .

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

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