在tensorflow MNIST softmax教程中,未使用softmax函数

时间:2016-12-27 07:27:36

标签: tensorflow softmax

我正在关注MNIST Softmax教程https://www.tensorflow.org/tutorials/mnist/beginners/

在文档后面,模型应该是

y = tf.nn.softmax(tf.matmul(x, W) + b)

但是在示例源代码中,正如您所见

# Create the model
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
y = tf.matmul(x, W) + b

不使用softmax。我认为需要改变

y = tf.nn.softmax(tf.matmul(x, W) + b)

我认为,在测试函数中它使用argmax,因此它不需要标准化为0~1.0的值。但它可能会给开发人员带来一些困惑。

就这个想法?

1 个答案:

答案 0 :(得分:2)

使用Softmax,第57行:

# So here we use tf.nn.softmax_cross_entropy_with_logits on the raw
# outputs of 'y', and then average across the batch.
cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(y, y_))

有关详细信息,请参阅softmax_cross_entropy_with_logits