tf.nn.sparse_softmax_cross_entropy_with_logits()和tf.nn.softmax_cross_entropy_with_logits()的区别与内容

tf.nn.sparse_softmax_cross_entropy_with_logits(labels,logits)
多了一步稀疏编码,所以labels只需要输入不同的数值带表不同的类别即可,例如[1,2,3,3,2,1]


tf.nn.softmax_cross_entropy_with_logits(labels,logits)

则没有稀疏编码,所以需要输入的labels即为one-hot编码,如[[1,0,0],[0,1,0],[0,0,1],[0,0,1],[0,1,0],[1,0,0]]

搞清楚输入后,具体是进行以下操作:

y = softmax(logits)

entropy(y)

这里softmax和entropy的公式就不写了,网上都有。

最终输出的是一个损失,如果不想加入其他操作,直接扔到train里面就可以了

你可能感兴趣的:(tf.nn.sparse_softmax_cross_entropy_with_logits()和tf.nn.softmax_cross_entropy_with_logits()的区别与内容)