我读过这两种功能的文档,但据我所知,对于函数tf.nn.softmax_cross_entropy_with_logits(logits, labels, dim=-1, name=None)
,结果是交叉熵损失,其中logits
和labels
的维数是相同的。
但是,对于函数tf.nn.sparse_softmax_cross_entropy_with_logits
,logits
和labels
的维度并不相同?
你能给出一个更详细的tf.nn.sparse_softmax_cross_entropy_with_logits
例子吗?
发布于 2016-12-22 14:08:52
不同之处在于,tf.nn.softmax_cross_entropy_with_logits
并不认为这些类是相互排斥的:
度量离散分类任务中的概率误差,其中每个类是独立的,不相互排斥的。例如,一个人可以执行多标签分类,其中一个图片可以同时包含大象和狗。
与sparse_*
的比较
度量离散分类任务中的概率错误,其中类是互斥的(每个条目正好在一个类中)。例如,每个CIFAR-10图像都有一个并且只有一个标签:图像可以是狗,也可以是卡车,但不能两者兼而有之。
因此,对于稀疏函数,logits
和labels
的维数并不相同:labels
每个示例包含一个数字,而logits
则包含每个示例的类数,表示概率。
https://stackoverflow.com/questions/41283115
复制相似问题