python自定义损失函数_在keras中创建自定义损失函数

嗨,我一直在尝试为dice_error_coefficient在keras中创建自定义损失函数。它有它的实现tensorboard,我尝试使用相同的功能与tensorflow keras但它一直返回NoneType当我用model.train_on_batch或model.fit其中在模型中的指标使用时,它提供正确的价值观。可以请别人帮我做什么吗?我尝试过使用ahundt编写的Keras-FCN之类的库,其中他使用了自定义损失函数,但似乎都不起作用。代码中的目标和输出分别为y_true和y_pred,如keras中的loss.py文件中所使用。

def dice_hard_coe(target, output, threshold=0.5, axis=[1,2], smooth=1e-5):

"""References

-----------

- `Wiki-Dice `_

"""

output = tf.cast(output > threshold, dtype=tf.float32)

target = tf.cast(target > threshold, dtype=tf.float32)

inse = tf.reduce_sum(tf.multiply(output, target), axis=axis)

l = tf.reduce_sum(output, axis=axis)

r = tf.reduce_sum(target, axis=axis)

hard_dice = (2. * inse + smooth) / (l + r + smooth)

hard_dice = tf.reduce_mean(hard_dice)

return hard_dice

你可能感兴趣的:(python自定义损失函数)