torch.nn.ConvTranspose2d 转置卷积

2022-09-02 21:27:16 浏览数 (1)

函数原型:

代码语言:javascript复制
torch.nn.ConvTranspose2d(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):输出张量的通道数
  • kernel_size(int or tuple):卷积核大小
  • stride(int or tuple,optional):卷积步长,决定上采样的倍数
  • padding(int or tuple, optional):对输入图像进行padding,输入图像尺寸增加2*padding
  • output_padding(int or tuple, optional):对输出图像进行padding,输出图像尺寸增加padding
  • groups:分组卷积(必须能够整除in_channels和out_channels)
  • bias:是否加上偏置
  • dilation:卷积核之间的采样距离(即空洞卷积)
  • padding_mode(str):padding的类型
  • 另外,对于可以传入tuple的参数,tuple[0]是在height维度上,tuple[1]是在width维度上

转置卷积的输出如下(如果输入参数为tuple,则各自计算):

  •     output[0]=(input[0]−1)×stride[0]−2×padding[0] dilation[0]×(kernel_size[0]−1) output_padding[0] 1
  •     output[1]=(input[1]−1)×stride[1]−2×padding[1] dilation[1]×(kernel_size[1]−1) output_padding[1] 1

0 人点赞