import tensorflow as tf

    centers_batch = tf.gather(centers, label)
    diff = (1 - alfa) * (centers_batch - features)
    centers = tf.scatter_sub(centers, label, diff)
    # centers = tf.nn.l2_normalize(centers, 1, 1e-10, name='centers_norm')
    loss = tf.reduce_mean(tf.square(features - centers_batch))
    return loss, centers

def focal_loss(onehot_labels, cls_preds,
