PyTorch学习之池化层(POOLING LAYERS)

1 MaxPool

torch.nn.MaxPool1d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)
torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)
torch.nn.MaxPool3d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)

参数:

kernel_size- 窗口大小
stride- 步长。默认值是kernel_size
padding - 补0数
dilation– 控制窗口中元素步幅的参数
return_indices - 如果等于True,会返回输出最大值的序号,对于上采样操作会有帮助
ceil_mode - 如果等于True,计算输出信号大小的时候,会使用向上取整,代替默认的向下取的操作

输入输出尺寸:
在这里插入图片描述

2 MaxUnpool

torch.nn.MaxUnpool1d(kernel_size, stride=None, padding=0)
torch.nn.MaxUnpool2d(kernel_size, stride=None, padding=0)
torch.nn.MaxUnpool3d(kernel_size, stride=None, padding=0)

参数:

kernel_size- 窗口大小
stride - 步长。默认值是kernel_size
padding - 补0数

输入输出尺寸:
在这里插入图片描述

3 AvgPool

torch.nn.AvgPool1d(kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True)
torch.nn.AvgPool2d(kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True)
torch.nn.AvgPool3d(kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True)

参数:

kernel_size - 池化窗口大小
stride- 步长。默认值是kernel_size
padding- 输入的每一条边补充0的层数
dilation – 一个控制窗口中元素步幅的参数
return_indices - 如果等于True,会返回输出最大值的序号,对于上采样操作会有帮助
ceil_mode - 如果等于True,计算输出信号大小的时候,会使用向上取整,代替默认的向下取整的操作

输入输出尺寸:
在这里插入图片描述

4 FractionalMaxPool2d

由目标输出大小确定的随机步长,在 k H ∗ k W kH*kW kHkW区域进行最大池化操作。输出特征和输入特征的数量相同。
torch.nn.FractionalMaxPool2d(kernel_size, output_size=None, output_ratio=None, return_indices=False, _random_samples=None)

参数:

kernel_size- 最大池化操作时的窗口大小。
output_size - 输出图像的尺寸。
output_ratio – 将输入图像的大小的百分比指定为输出图片的大小,范围在(0,1)之间
return_indices - 默认值False,如果设置为True,会返回输出的索引,索引对 nn.MaxUnpool2d有用。

Fractional Max-Pooling suggests a method for performing the pooling operation with filters smaller than 2x2. This is done by randomly generating pooling regions with a combination of 1x1, 1x2, 2x1 or 2x2 filters to tile the input activation map. The grids are generated randomly on each forward pass, and at test time the predictions can be averaged across several grids.

Fractional Max-Pooling

5 LPPool

对输入信号提供幂平均池化操作。 输出的计算方式:
在这里插入图片描述
当p为无穷大的时候时,等价于最大池化操作
当p=1时,等价于平均池化操作。

torch.nn.LPPool1d(norm_type, kernel_size, stride=None, ceil_mode=False)
torch.nn.LPPool2d(norm_type, kernel_size, stride=None, ceil_mode=False)

参数:

kernel_size: 池化窗口的大小
stride:池化窗口移动的步长。kernel_size是默认值
ceil_mode: ceil_mode=True时,将使用向下取整代替向上取整

输入输出尺寸:
在这里插入图片描述

6 AdaptiveMaxPool

对输入信号,提供自适应最大池化操作 对于任何输入大小的输入,可以将输出尺寸指定为H*W,但是输入和输出特征的数目不会变化。

torch.nn.AdaptiveMaxPool1d(output_size, return_indices=False)
torch.nn.AdaptiveMaxPool2d(output_size, return_indices=False)
torch.nn.AdaptiveMaxPool3d(output_size, return_indices=False)

参数:

output_size: 输出信号的尺寸
return_indices: 如果设置为True,会返回输出的索引。对 nn.MaxUnpool1d有用,默认值False

7 AdaptiveAvgPool

对输入信号,提供自适应平均池化操作 对于任何输入大小的输入,可以将输出尺寸指定为H*W,但是输入和输出特征的数目不会变化。

torch.nn.AdaptiveAvgPool1d(output_size)
torch.nn.AdaptiveAvgPool2d(output_size)
torch.nn.AdaptiveAvgPool3d(output_size)

参数:

output_size: 输出信号的尺寸

  • 21
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值