Machine learning TensorFlow深MNIST中的卷积和池

Machine learning TensorFlow深MNIST中的卷积和池,machine-learning,tensorflow,Machine Learning,Tensorflow,当我学习的时候,我有很多困难。 我想知道他们为什么在多层卷积网络中使用卷积和池 我不理解以下两个函数 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=

当我学习的时候,我有很多困难。 我想知道他们为什么在多层卷积网络中使用卷积和池

我不理解以下两个函数

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函数中步长=[1,1,1,1]的含义

我们是否应该始终在max\u pool\u 2x2函数中使用ksize=[1,2,2,1]步长=[1,2,2,1]


padding='SAME'padding='VALID'

之间的区别是什么?我建议检查以下内容。它对整个卷积运算有很好的解释。这应该包括您对conv2d的查询

对于最大池

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

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


填充的差异在这篇文章中得到了很好的解释。

我在这篇可能重复的文章中对其中的大部分进行了恰当的描述