我正在关注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的值。但它可能会给开发人员带来一些困惑。
就这个想法?
答案 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。