【发布时间】:2021-04-11 16:52:20
【问题描述】:
我有以下自定义损失:
def Loss(y_true,y_pred):
y_pred = relu(y_pred)
z = k.maximum(y_true, y_pred)
y_pred_negativo = Lambda(lambda x: -x)(y_pred)
w = k.abs(add([y_true, y_pred_negativo]))
if k.sum(z) == 0.0:
erro = 0.0
elif k.sum(y_true) == 0.0 and k.sum(z) != 0:
erro = 100
else:
erro = (k.sum(w)/k.sum(z))*100.0
return erro
但是,如您所见,我将 numpy 与条件张量混合在一起。因此,我必须将这个条件写成张量格式。
if k.sum(z) == 0.0:
erro = 0.0
elif k.sum(y_true) == 0.0 and k.sum(z) != 0:
erro = 100
else:
erro = (k.sum(w)/k.sum(z))*100.0
我知道如何为if else 格式做到这一点,但对于这么多条件却不知道。谢谢!
【问题讨论】:
标签: if-statement keras conditional-statements tensor