Closed hunauchenym closed 4 years ago
我确认了下应该为 5 x 5,你可以参考pytorch的文档 ConvTranspose2d, 一个简单的测试代码:
import torch
import torch.nn as nn
conv_transpose = nn.ConvTranspose2d(1, 1, 3, stride=2, dilation=1)
x = torch.rand(1, 1, 2, 2)
y = conv_transpose(x)
print(y.size()) # [1, 1, 5, 5]
是不是通过填充元素后,步长变为1了?
首先转置卷积中的stride的概念与卷积中有所不同,另一方面转置卷积就是要增加输出的大小,因此卷积的步长应该都是1,否则没法保证输出的大小
好像padding的概念也不一样,真正的padding大小为k-1-p?h'=k+2(k-1-p)?
是的,真正padding的大小为k-1-p,具体的计算公式参考上面的pytorch文档。
当步长s=2时,卷积之后的输出是否应该为3x3?