当前位置:  开发笔记 > 编程语言 > 正文

为什么MNIST教程中的负形状重塑(-1)?

如何解决《为什么MNIST教程中的负形状重塑(-1)?》经验,为你挑选了1个好方法。

阅读Tensorflow MNIST教程,我偶然发现了这条线

x_image = tf.reshape(x, [-1,28,28,1])

28, 28来自width, height,1来自多个渠道.但为什么-1呢?

我想这与小批量训练有关,但我想知道为什么-1而不是1(这似乎在numpy中给出相同的结果).(可能相关:为什么numpy的重塑会给出相同的结果-1,-2并且1)?



1> Priyatham..:

-1表示推断该维度的长度.这是基于以下约束来完成的:一个ndarrayTensor当重新整形时元素的数量必须保持不变.在本教程中,每个图像都是一个行向量(784个元素),并且有很多这样的行(让它成为n,所以有784n元素).所以,当你写作

x_image = tf.reshape(x, [-1, 28, 28, 1])

TensorFlow可以推断出-1n.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有