首页 文章

TensorFlow Deep MNIST中的卷积和池化

提问于
浏览
1

当我学习Deep MNIST for Experts tutorial时,我遇到了很多困难 . 我想知道为什么他们在多层卷积网络中使用 Convolution and Pooling .

我不明白以下两个功能 .

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')

我想知道conv2d函数中 strides=[1,1,1,1] 的含义 .

我们是否应该始终在max_pool_2x2函数中使用 ksize=[1, 2, 2, 1]strides=[1, 2, 2, 1] .

padding='SAME'padding='VALID' 之间有什么区别

1 回答

  • 1

    我会说检查以下answer . 它对整个卷积运算有一个很好的解释 . 这应该涵盖您对conv2d的查询 .

    对于最大池,

    ksize :基本上是核心大小 . 它是输入张量的每个维度的窗口大小 . 你可以根据需要改变它 . 就像论文AlexNet一样,他们使用了ksize = [1,3,3,1]和

    stride :过滤器应用于与过滤器大小相同的图像块,并根据strides参数进行跨步 . strides = [1,2,2,1]将滤镜应用于每个维度中的每个其他图像补丁等 .

    填充的差异在post中得到了很好的解释 .

相关问题