Keras海关损失“;无”;梯度
我目前尝试为keras二元分类模型创建一个自定义损失函数。TP、TN、FP、FN各有不同的利润减少 FN减少利润72%$ TP使利润减少了28.2%$ TN将利润减少0$ FP将利润减少5.7%$ 电流损耗函数如下所示,但给出了如下所述的错误Keras海关损失“;无”;梯度,keras,Keras,我目前尝试为keras二元分类模型创建一个自定义损失函数。TP、TN、FP、FN各有不同的利润减少 FN减少利润72%$ TP使利润减少了28.2%$ TN将利润减少0$ FP将利润减少5.7%$ 电流损耗函数如下所示,但给出了如下所述的错误 def custom_loss(y_true, y_pred): TP = K.all(K.stack([y_true, y_pred], axis=0), axis=0) # FP = K.all(K.stack([K.square(te
def custom_loss(y_true, y_pred):
TP = K.all(K.stack([y_true, y_pred], axis=0), axis=0)
# FP = K.all(K.stack([K.square(tensorflow.subtract(y_true, 1)), y_pred]))
# FN = K.all(K.stack([y_true, K.square(y_pred-K.constant(1))]))
return K.sum(K.switch(TP, K.ones_like(y_true), K.zeros_like(y_true))*K.constant(28.2))
ValueError: An operation has `None` for gradient. Please make sure that all of your ops have a gradient defined (i.e. are differentiable). Common ops without gradient: K.argmax, K.round, K.eval.
我基本上了解错误的原因,但我不知道如何对损失函数进行建模,以便使用的所有操作都具有梯度!=没有
我找到了关于如何对自定义损失函数建模的各种资源,但没有设法使它们适应我的“固定成本”函数