softmax交叉熵返回值

时间:2017-07-17 21:44:58

标签: tensorflow neural-network loss cross-entropy

如果这是tf.losses.softmax_cross_entropy_loss的返回值是什么意思?

<tf.Tensor 'softmax_cross_entropy_loss/value:0' shape=() dtype=float32>

状态为value:0的事实是否意味着shape=()意味着没有计算任何内容?

1 个答案:

答案 0 :(得分:2)

没有计算任何内容,因为您在通过图表之前在图表中显示张量。让我们说

sce = tf.losses.softmax_cross_entropy_loss(input)

然后要实际获得损失值,您必须使用

将数据输入其中
sess = tf.Session()
...
loss = sess.run(sce, feed_dict)

其中feed_dict是数据的字典。损失现在将返回实际的数值损失值。

value只是该值所属的计算组的指示符。例如:tf.reduce_mean返回tf.Tensor 'Mean_1:0' shape=() dtype=float32,因为它是一个平均值计算。 0并不意味着它的当前值为0,它仅用于索引。

此外,您的张量形状为(),因为单个损失值没有批量大小,x或y方向或通道(假设您正在使用4D张量),这样也可以