nn.MaxPool2d()的kernel_size为tuple用法

https://blog.csdn.net/qq_40210472/article/details/87895626

1. nn.Conv2d

nn.Conv2d 输入信号的形式为(N, Cin, H, W), N表示batch size,Cin​表示channel个数,H,W分别表示特征图的高和宽。

参数说明:

  • stride(步长):控制cross-correlation的步长,可以设为1个int型数或者一个(int, int)型的tuple。

  • padding(补0):控制zero-padding的数目。

  • dilation(扩张):控制kernel点(卷积核点)的间距;

  • groups(卷积核个数):这个比较好理解,通常来说,卷积个数唯一,但是对某些情况,可以设置范围在1 —— in_channels中数目的卷积核:

class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)
  • 参数kernel_size,stride, padding,dilation也可以是一个int的数据

  • 此时卷积height 和 width值相同; 也可以是一个tuple数组,tuple的第一维度表示height的数值,tuple的第二维度表示width的数值

    • 经常使用二维的kernel_size,如(3,5),是tuple数组

参数

  • in_channels(int) – 输入信号的通道

  • out_channels(int) – 卷积产生的通道

  • kerner_size(int or tuple) - 卷积核的尺寸,在nlp中tuple用更多,(n,embed_size)

  • stride(int or tuple, optional) - 卷积步长

  • padding(int or tuple, optional) - 输入的每一条边补充0的层数

  • dilation(int or tuple, optional) – 卷积核元素之间的间距

  • groups(int, optional) – 从输入通道到输出通道的阻塞连接数

  • bias(bool, optional) - 如果bias=True,添加偏置

2. nn.MaxPool2d

class torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)
  • 如果padding 不是0,会在输入的每一边添加相应数目0,如padding=1,则在每一边分别补0,其实最后的结果补出来是bias

参数:

  • kernel_size(int or tuple): max pooling的窗口大小,可以为tuple,在nlp中tuple用更多,(n, 1)

    • (n, m): height/n, width/m
  • stride(int or tuple, optional): max pooling的窗口移动的步长。默认值是kernel_size

  • padding(int or tuple, optional): 输入的每一条边补充0的层数

  • dilation(int or tuple, optional): 一个控制窗口中元素步幅的参数

  • return_indices: 如果等于True,会返回输出最大值的序号,对于上采样操作会有帮助

  • ceil_mode: 如果等于True,计算输出信号大小的时候,会使用向上取整,代替默认的向下取整的操作

原文地址:https://www.cnblogs.com/douzujun/p/13472838.html