【问题标题】:softmax cross entropy return valuesoftmax 交叉熵返回值
【发布时间】:2017-12-22 13:49:23
【问题描述】:
如果这是tf.losses.softmax_cross_entropy_loss 的返回值是什么意思?
<tf.Tensor 'softmax_cross_entropy_loss/value:0' shape=() dtype=float32>
声明value:0 和shape=() 是否意味着没有计算任何内容?
【问题讨论】:
标签:
tensorflow
neural-network
loss
cross-entropy
【解决方案1】:
没有计算任何内容,因为您在任何数据通过之前在图表中显示张量。比方说
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 张量),所以这也可以。