tensorflow sparse_softmax_cross_entropy_with_logits()函数

 

函数:tf.nn.sparse_softmax_cross_entropy_with_logits(logits=x, labels=y)

作用:计算logits和labels之间的稀疏softmax交叉熵,该函数为常用函数。

函数:tf.nn.softmax_cross_entropy_with_logits(logits=x, labels=y)

作用:计算logits和labels之间的softmax交叉熵,该函数为不常用函数

区别:

softmax_cross_entropy_with_logits传入的labels为稀疏标签,如one-hot标签[[0,0,1], [0,1,0]];

sparse_softmax_cross_entropy_with_logits传入的labels为非稀疏标签,如三分类问题传入labels值为[2,1],sparse为稀疏化的意思,即将非稀疏标签转化为稀疏标签,[2,1]中的2表示属于第3类,对应one-hot标签里的[0,0,1],[2,1]中的1表示属于第2类,对应one-hot标签里的[0,1,0];(说明:三分类问题非稀疏标签取值从0开始,0,1,2)。所以将非稀疏标签[2,1]转化成one-hot标签的值为[[0,0,1], [0,1,0]]。

以此类推
非稀疏标签<-------------对应---------------->稀疏标签

[0,1]<-------------对应---------------->[[1,0,0], [0,1,0]]

[2,0]<-------------对应---------------->[[0,0,1], [1,0,0]]

[1,2]<-------------对应---------------->[[0,1,0], [0,0,1]]

[0,0]<-------------对应---------------->[[1,0,0], [1,0,0]]

。。。

你可能感兴趣的:(tensorflow)