首页 > 解决方案 > 为什么 MNIST 数据集的输入范围应该在 0 和 1 之间?

问题描述

我是 MNIST 初学者。我有几个问题。这是其中之一。

我将 MNIST 数据集存储在 csv 文件中。(范围在 0 到 255 之间)

我训练了这些数据,我得到了错误的答案,全是 0。

但是当我将数据集值除以 255 时,得到了正确的值。(它的范围在 0 和 1 之间)

那么,为什么 MNIST 数据集的输入范围应该在 0 到 1 之间呢?

我使用了 MNIST 教程中的代码。

x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(x, W) + b)
y_ = tf.placeholder(tf.float32, [None, 10])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_*tf.log(y),reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)

标签: pythonmnist

解决方案


推荐阅读