focal

import tensorflow.keras.backend as K
def focal_loss_fixed(y_true, y_pred):
    alpha = 0.25
    gamma = 2
    pt_1 = tf.where(tf.equal(y_true, 1), y_pred, tf.ones_like(y_pred))
    pt_0 = tf.where(tf.equal(y_true, 0), y_pred, tf.zeros_like(y_pred))

    focal_loss= -K.sum(alpha * K.pow(1. - pt_1, gamma) * K.log(K.epsilon() + pt_1),axis=-1) - K.sum(
        (1 - alpha) * K.pow(pt_0, gamma) * K.log(1. - pt_0 + K.epsilon()),axis=-1)
    return focal_loss

猜你喜欢

转载自blog.csdn.net/qq_43801008/article/details/113134704