一 代码
'''
这个实例以两个值进行了以下3次试验
(1)两次softmax试验:将输出值logits分别进行1次和2次softmax。
(2)观察交叉熵:将步骤(1)中的两个值分别进行.softmax_cross_entropy_with_logits,观察他们的区别。
(3)自建公式试验:将两次softmax的值放到自建组合的公式里得到正确的值。
'''
######################
import tensorflow as tf
labels = [[0,0,1],[0,1,0]]
logits = [[2, 0.5,6],
[0.1,0, 3]]
logits_scaled = tf.nn.softmax(logits)
logits_scaled2 = tf.nn.softmax(logits_scaled)
result1 = tf.nn.softmax_cross_entropy_with_logits(labels=labels, logits=logits)
result2 = tf.nn.softmax_cross_entropy_with_logits(labels=labels, logits=logits_scaled)
result3 = -tf.reduce_sum(labels*tf.log(logits_scaled),1)
with tf.Session() as sess:
print ("scaled=",sess.run(logits_scaled))
print ("scaled2=",sess.run(logits_scaled2)) #经过第二次的softmax后ÿ