我想为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,但是在 loss
中 make_an_image_respect_to
重现 y_pred
,它是Tensor而我无法读取它 . 模型输出必须是一些浮点数,这是我需要 make_an_image_respect_to
.
我该怎么办?要将输入样本和y_pred发送到自定义丢失功能吗?
Ps:我正在制作一个模型来从图像中提取一些参数 . 我想回送(损失)输入图像和由模型估计的参数(使用函数)产生的图像之间的差异(距离函数) .