我指的是Alasql中提到的Jaccard丢失功能。 Tensorflow用作Keras的后端。用于训练的图像采用以下格式(批处理,高度,宽度,深度)。根据代码,当我沿axis = -1求和时,损失函数返回张量(batch *高度*宽度),在我的情况下为深度。我的问题是,当返回的损失为3D张量格式时,反向传播有效吗?还是Keras知道如何处理?以下是我正在使用的损失函数。如果我的问题不清楚,请告诉我。
from keras import backend as K
def jaccard_distance(y_true, y_pred, smooth=100):
intersection = K.sum(K.abs(y_true * y_pred), axis=-1)
sum_ = K.sum(K.abs(y_true) + K.abs(y_pred), axis=-1)
jac = (intersection + smooth) / (sum_ - intersection + smooth)
return (1 - jac) * smooth