PyTorch的逆卷积函数nn.ConvTranspose2d()参数说明及确定

PyTorch的逆卷积函数nn.ConvTranspose2d参数说明及确定

      • 参数说明
      • 逆卷积的参数确定(stride , kernel_size , padding)

参数说明

torch.nn.ConvTranspose2d(   in_channels,  #输入数据的通道数
                            out_channels, #输出数据的通道数
                            kernel_size,  #卷积核的尺寸
                            stride=1,     #卷积步长
                            padding=0,    #输入原图周围需要填充的格子行(列)数
                            output_padding=0,   #输出特征图边缘需要填充的行(列)数,一般不设置
                            groups=1,     #分组卷积的组数,一般默认设置为1,不用管
                            bias=True     #卷积偏置,一般设置为False,True的话可以增加模型的泛化能力
                            )
##############尺寸计算公式##############
H_out = (H_in - 1)*stride + kernel_size - 2*padding    #H_in输入尺寸,H_out输出尺寸

逆卷积的参数确定(stride , kernel_size , padding)

stride即输入输出的倍数关系。

根据stride大小有两种情况:
stride=1时,无需对特征图进行插值,直接进行填充即可.
paddingkernel_size是相互关联的,一般卷积核的尺寸kernel_size可以自己进行确定,尝试
确定kernel_size后,根据上述代码中尺寸计算公式即可推出padding
PyTorch的逆卷积函数nn.ConvTranspose2d()参数说明及确定_第1张图片
stride>1时,需对特征图进行插值,确保每次卷积均有输入数据的参与.
插值原则:行列相邻点均间隔stride-1个插值点

(stride - 1)(H_in-1) 插值点数量

插值后的填充部分与stride=1一致

H_in_new  =  H_in  + (stride - 1)(H_in-1)

在H_in_new的基础上根据上述代码的计算公式进行paddingkernel_size的计算
PyTorch的逆卷积函数nn.ConvTranspose2d()参数说明及确定_第2张图片

你可能感兴趣的:(卷积,pytorch)