【发布时间】:2019-10-01 19:32:50
【问题描述】:
我正在定义以下损失函数:
smooth = 1.0
def loss(y_true, y_pred):
y_true_f = K.flatten(y_true)
y_pred_f = K.flatten(y_pred)
if K.sum(y_true_f) == 0 and K.sum(y_pred_f) == 0:
return 1
else:
intersection = K.sum(y_true_f * y_pred_f)
return (2. * intersection + smooth) / (K.sum(y_true_f) + K.sum(y_pred_f) + smooth)
这可行,但是当我将第 4 行更改为 if K.sum(y_true) > 0 and K.sum(y_pred) > 0: 时,我得到了问题标题中提到的 TypeError。
谁能告诉我这是怎么回事?谢谢。
【问题讨论】:
标签: python tensorflow keras loss-function