如何理解tensorflow教程中的"Densely Connected Layer"部分

How to understand the "Densely Connected Layer" section in tensorflow tutorial

在tensorflow教程的Densely Connected Layer部分,它说图像处理后大小为7 x 7。我尝试了代码,这些参数似乎有效。

但我不知道如何得到这个 7 x 7 尺寸。我的理解是:

我哪一步做错了?

你还需要知道最大池化和卷积的步长。

def conv2d(x, W):
  return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')

def max_pool_2x2(x):
  return tf.nn.max_pool(x, ksize=[1, 2, 2, 1],
                        strides=[1, 2, 2, 1], padding='SAME')

在这里,我们可以看到卷积的步幅为 1,最大池化的步幅为 2。您如何看待最大池化,它需要一个 2x2 的框,并将其滑过图像,每个时间取最大值超过 4 个像素。如果您的步幅为 2,则每次移动需要 2 步!图像大小应减少 2 倍,而不是 4 倍。

换句话说,一张28x28的图片,最大池为2x2,步长为2,将变成14x14。另一个最大池 2x2 和步幅 2 将减少到 7x7.

为了进一步说明我的观点,让我们以max pool 2x2和stride 1为例。如果我们不填充图像,它会在max pool之后变成27x27图像。

这是一个更完整的答案的图片:

看看Teach Yourself Deep Learning with TensorFlow and Udacity 与文森特·范霍克

这在课程中有介绍。我目前正在处理它。

该课程是免费的,但您必须注册。它是一系列视频、测验和编码项目,所有这些都可以自定进度和自评分。我学到了很多并且很享受。

这是其中一个测验。