def dice_coef(y_true, y_pred, axis=(1, 2), smooth=1.): intersection = tf.reduce_sum(y_true * y_pred, axis=axis) union = tf.reduce_sum(y_true + y_pred, axis=axis) numerator = tf.constant(2.) * intersection + smooth denominator = union + smooth coef = numerator / denominator return tf.reduce_mean(coef) def dice_coef_loss(target, prediction, axis=(1, 2), smooth=1.): """ """ intersection = tf.reduce_sum(prediction * target, axis=axis) p = tf.reduce_sum(prediction, axis=axis) t = tf.reduce_sum(target, axis=axis) numerator = tf.reduce_mean(intersection + smooth) denominator = tf.reduce_mean(t + p + smooth) dice_loss = -tf.log(2.*numerator) + tf.log(denominator) return dice_loss def combined_dice_ce_loss(y_true, y_pred, axis=(1, 2), smooth=1., weight=args.weight_dice_loss): """ Combined Dice and Binary Cross Entropy Loss """ return weight*dice_coef_loss(y_true, y_pred, axis, smooth) + \ (1-weight)*K.losses.binary_crossentropy(y_true, y_pred)
dice损失函数
最新推荐文章于 2024-05-29 13:45:45 发布