Mar*_*oma 8 python numpy tensorflow
阅读Tensorflow MNIST教程,我偶然发现了这条线
x_image = tf.reshape(x, [-1,28,28,1])
Run Code Online (Sandbox Code Playgroud)
28, 28来自width, height,1来自多个渠道.但为什么-1呢?
我想这与小批量训练有关,但我想知道为什么-1而不是1(这似乎在numpy中给出相同的结果).(可能相关:为什么numpy的重塑会给出相同的结果-1,-2并且1)?
Pri*_*ham 12
-1表示推断该维度的长度.这是基于以下约束来完成的:一个ndarray或Tensor当重新整形时元素的数量必须保持不变.在本教程中,每个图像都是一个行向量(784个元素),并且有很多这样的行(让它成为n,所以有784n元素).所以,当你写作
x_image = tf.reshape(x, [-1, 28, 28, 1])
TensorFlow可以推断出-1是n.
在您正在阅读的 MNIST 教程中,输入层所需的形状:[batch_size, 28, 28, 1]
x_image = tf.reshape(x, [-1,28,28,1])
这里输入 x 的 -1 指定应根据 x 中输入值的数量动态计算该维度,并保持所有其他维度的大小不变。这允许我们将batch_size(值为-1的参数)视为我们可以调整的超参数。
| 归档时间: |
|
| 查看次数: |
5079 次 |
| 最近记录: |