sparse_softmax_cross_entropy_with_logits与softmax_cross_entropy_with_logits区别

sparse_softmax_cross_entropy_with_logits与softmax_cross_entropy_with_logits区别

原函数:

tf.nn.sparse_softmax_cross_entropy_with_logits(logits=net, labels=y) 
tf.nn.softmax_cross_entropy_with_logits(logits=net, labels=y2)

注意:对sparse_softmax: label的rank 应该比logits 维度少1 , 而直接的softmax, label和logits的维度应该一样。

  • sparse_softmax_cross_entropy_with_logits中 labels接受直接的数字标签
    如[1], [2], [3], [4] (类型只能为int32,int64)
  • 而softmax_cross_entropy_with_logits中 labels接受one-hot标签
    如[1,0,0,0], [0,1,0,0],[0,0,1,0], [0,0,0,1] (类型为int32, int64)
    相当于sparse_softmax_cross_entropy_with_logits 对标签多做一个one-hot动作

原文:https://blog.csdn.net/transmaple/article/details/79457683?utm_source=copy

你可能感兴趣的:(tensorflow,tensorflow,loss)