逆卷积?转置卷积?随便了
class torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, bias=True)
- in_channels(
int
) – 输入信号的通道数 - out_channels(
int
) – 卷积产生的通道数 - kerner_size(
int
ortuple
) - 卷积核的大小 - stride(
int
ortuple
,optional
) - 卷积步长 - padding(
int
ortuple
,optional
) - 输入的每一条边补充0的层数 - output_padding(
int
ortuple
,optional
) - 输出的每一条边补充0的层数 - dilation(
int
ortuple
,optional
) – 卷积核元素之间的间距 - groups(
int
,optional
) – 从输入通道到输出通道的阻塞连接数 - bias(
bool
,optional
) - 如果bias=True
,添加偏置 -
shape:
输入: (N,C_in,H_in,W_in)
输出: (N,C_out,H_out,W_out)
$$H_{out}=(H_{in}-1)stride[0]-2padding[0]+kernel_size[0]+output_padding[0]$$$$W_{out}=(W_{in}-1)stride[1]-2padding[1]+kernel_size[1]+output_padding[1]$$
-
对原图进行上采样,公式翻译如下:
-
输出图像长或宽=(输入图像长或宽-1)*stride-2*padding+kernel_size+out_padding
-
-
图片来自https://blog.csdn.net/qq_27261889/article/details/86304061
-
上图输出图像的长=(3-1)*1-2*0+4+0(out_padding默认为0) = 6
-
框=7同理也可以用那个公式求出来
-
原理记住老是忘,所以趁着理解了公式怎么算赶紧把它记下来,下次忘了直接看一眼怎么算的就好了