tf.nn.softmax_cross_entropy_with_logits()函数是TensorFlow中计算交叉熵常用的函数。
后续版本中,TensorFlow更新为:tf.nn.softmax_cross_entropy_with_logits_v2
格式为:
cross_entropy = tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y )
参数说明:
labels:为分类标签
logits:为预测值
TensorFlow代码实现 tf.nn.softmax_cross_entropy_with_logits()函数:
import tensorflow as tf
labels = [[0.1, 0.2, 0.6],
[0.4, 0.9, 0.7]]
logits = [[1, 2, 4],
[0.1, -1, 3]]
# 计算交叉熵(tf.nn.softmax_cross_entropy_with_logits更新为格
# tf.nn.softmax_cross_entropy_with_logits_v2)
cross_entropy = tf.nn.softmax_cross_entropy_with_logits_v2(labels=labels, logits=logits)
with tf.Session() as sess:
print(sess.run(cross_entropy))
运行结果:
[0.85286146 4.9015484 ]