Pytorch中Conv2d、ConvTranspose2d和MaxPool2d参数计算公式

参数计算公式

    • 1 Conv2d参数计算
    • 2 ConvTranspose2d参数计算
    • 3 MaxPool2d参数计算

1 Conv2d参数计算

torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtype=None)

设置:
stride = S
kernel_size = K
padding = P
输入尺寸为Win,输出尺寸为Wout
公式:

在这里插入图片描述

2 ConvTranspose2d参数计算

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', device=None, dtype=None)

设置:

  1. in_channels(int) – 输入信号的通道数
  2. out_channels(int) – 卷积产生的通道数
  3. kerner_size(int or tuple) - 卷积核的大小
  4. stride(int or tuple,optional) - 输入特征图元素之间添加stride-1个元素
  5. padding(int or tuple, optional) - 输入的每一条边补充0的层数,高宽都增加2*padding
  6. output_padding(int or tuple, optional) - 输出边补充0的层数,高宽都增加padding
  7. groups(int, optional) – 从输入通道到输出通道的阻塞连接数
  8. bias(bool, optional) - 如果bias=True,添加偏置
  9. dilation(int or tuple, optional) – 卷积核元素之间的间距,这个属性有点东西,先不管,还不会
    10.input为输出的特征图尺寸大小,output为输出的特征图尺寸大小

公式:

在这里插入图片描述

这里重在使用吧,具体得推导公式需要结合参数进行演算,有时间的可以自己弄几个例子算一算。

3 MaxPool2d参数计算

首先熟悉它的默认参数设置:
Pytorch中Conv2d、ConvTranspose2d和MaxPool2d参数计算公式_第1张图片
给出的计算公式:
Pytorch中Conv2d、ConvTranspose2d和MaxPool2d参数计算公式_第2张图片
简化计算:

因为这里的dilation基本不设置,所以题目默认是1,将以上公式化简一下得:
好像和Conv2d的公式是一样的:

在这里插入图片描述
这里我下午在计算输出尺寸的时候,去找了相关博客,结果果断被带入坑里了,算了半天尺寸不对,最后去官网看了一下,原来因为默认值不知道,导致翻车,裂开,这里给出官网链接,大家官网为准

点我就有超能力

你可能感兴趣的:(Pytorch,pytorch,深度学习,python)