stride = 2的2x2 deconv内核如何工作?

时间:2018-09-19 08:07:52

标签: tensorflow deep-learning computer-vision caffe pytorch

例如,如果要素图是8x8,则比我使用这样的deconv和要素图变成16x16时,我很困惑之间的区别:

deconv(kernel_size=2, stride=2, padding='valid')

deconv(kernel_size=3, stride=2, padding='same')

由于它们都将要素地图放大2倍,因此它们分别如何工作?

1 个答案:

答案 0 :(得分:1)

我认为您会发现this web page上的说明和交互式演示非常有帮助。

具体来说,无论内核大小如何,设置stride=2都会使输出形状加倍。
kernel_size确定每个输入像素会影响多少个输出像素。
设置stride=2kernel_size=2只是在输出中“复制”了内核。考虑此一维示例。假设您的内核是[a, b],而您的输入是[A, B, ...],那么输出是

[A*a, A*b, B*a, B*b, ...]

对于kernel_size=3,输出变为

[A*a, A*b, A*c+B*a, B*b, B*c+C*a, ...]