pytorch转置卷积(反卷积)参数说明,尺寸输入输出的计算
pytorch转置卷积(反卷积)参数说明,尺寸输入输出的计算
函数构造:
class ConvTranspose2d(_ConvTransposeMixin, _ConvNd): def __init__(self, in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, bias=True, dilation=1, padding_mode='zeros'):
- 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
,添加偏置
输入输出计算过程:
h_in = 128*128
h_out = 56*56
这里h_in指正向卷积输入
正向卷积:h_out = (h_in + 2*padding - kernl_size) / stride +1
+1是因为除不尽向下取整
故转置卷积:h_in = (h_out - 1) * stride + kernl_size - 2*padding + output_padding
output_padding,是因为输出与期望输出有偏差,需在下边补0填充
凤舞九天