为什么这不等同于keras / tensorflow稀疏分类交叉熵?

时间:2019-09-05 03:22:13

标签: tensorflow keras cross-entropy

我正在使用

def celoss(y_true, y_pred):
    bs = tf.shape(y_true)[0]
    lin = tf.range(bs)
    y_true = tf.squeeze(y_true, -1)
    y_true = tf.cast(y_true, tf.int32)
    y_true = tf.stack([lin, y_true], -1)
    p = tf.gather_nd(y_pred, y_true)
    return -tf.math.log(p + 1e-8) 

在评估方面,它始终处于keras稀疏分类交叉熵的1e-3之内,但是在训练中,无论前向传递是否相同,在我测试过的各种问题上,它的表现都更加糟糕。那么为什么不回传呢?

0 个答案:

没有答案