【发布时间】:2017-05-23 12:50:34
【问题描述】:
我想用下面的命令计算交叉熵函数。该命令首先将 sofmax 应用于 logits,然后应用交叉熵函数。根据交叉熵和(b*loga)的公式,其中b是正确的标签,a是预测的标签。由于总和被交叉熵公式中的所有类接管,所以我希望乘法这样进行。如果sofmax运行后输出是
[0.45186275 0.27406862 0.27406862]
现在如果我应用交叉熵,它应该是这样的
( 1 * log 0.45186275 + 0 * log 0.27406862 + 0 * log 0.27406862 )
我的输出是 0.794377,但我期待一个不同的
a = tf.constant([0.9,0.4,0.4])
b = tf.constant([1,0,0])
result = tf.nn.softmax_cross_entropy_with_logits(logits=a,labels=b)
sess = tf.InteractiveSession()
sess.run(tf.initialize_all_variables())
print result.eval()
【问题讨论】:
标签: tensorflow