在theano深度学习教程中对卷积层输出的大小感到困惑

时间:2016-01-10 17:44:55

标签: theano conv-neural-network

[http://deeplearning.net/tutorial/lenet.html#lenet]

在上面的链接中说  构造第一个卷积池层:  过滤将图像大小减小到(28-5 + 1,28-5 + 1)=(24,24)

使用大小为b的过滤器对大小为a的数据进行卷积,得到大小为a + b-1的输出。所以这里的数据大小为28 * 28,过滤器大小为5 * 5。所以输出大小应为(28 + 5-1,28 + 5-1)。它给出为(28-5 + 1,28-5 + 1)

1 个答案:

答案 0 :(得分:1)

取决于border_mode

conv2d默认使用border_mode='valid',这意味着(来自scipy documentation

  

输出仅包含那些不依赖于的元素   零填充。

因此,使用border_mode='valid'(5,5)过滤器,输出将与输入相同,减去两个像素边界,即image_shape - filter_shape + 1,因此输入大小为{{1输出将是(28,28)

另一种选择,(24,24)将填充输入,使输出的形状为border_mode='full'