TensorFlow如何将图像缩小到7x7?

时间:2016-05-02 16:56:02

标签: tensorflow deep-learning mnist

我正在阅读教程Deep MNIST for Experts。在Densely Connected Layer部分的开头,它表示“[...]图像尺寸已减少到7x7”。

我似乎无法了解他们如何使用这个7x7矩阵。据我所知,我们从28x28开始,有两层5x5卷积内核。 28除以4是7,但不除以5。

2 个答案:

答案 0 :(得分:5)

5x5是卷积层的“窗口”大小。它不会减小图像尺寸:TensorFlow和Caffe等会自动提供边框垫。名为1的Torch要求您添加该边框(在这种情况下,每个方向有2个位置)。

每个内核(过滤器)都会考虑整个图像的5x5子集。例如,为了计算图像中位置[7,12]的值,卷积过程考虑“窗口”[5:9,10:14]。它将这25个值中的每一个乘以其相应的权重并将这些乘积相加。这个和将成为中心正方形[7,12]的下一层中的值。

对于图像中的每个位置以及图层中的每个内核,都会重复此过程。

正如@ Aenimated1已经提到的那样,尺寸减少来自两个2x的池。此操作将图像划分为2x2窗口,传递每个2x2平方的最大值(或用户指定的其他表示)。这将28x28图像缩小为14x14;第二个池将其减少到7x7。

答案 1 :(得分:2)

“图像大小”的减少是在每个卷积层之后添加的池化层的结果。每个2x2池将宽度和高度减小2倍,因此在两个池化操作后产生7x7矩阵。