评价此页

torch.nn.functional.fractional_max_pool2d#

torch.nn.functional.fractional_max_pool2d(input, kernel_size, output_size=None, output_ratio=None, return_indices=False, _random_samples=None)[source]#

在输入信号上应用二维分数最大池化,该输入信号由多个输入平面组成。

分数最大池化在论文 分数最大池化 (Fractional MaxPooling) 中有详细描述,作者是 Ben Graham。

最大池化操作在 kH×kWkH \times kW 区域中进行,步长由目标输出大小随机确定。输出特征的数量等于输入平面的数量。

参数
  • kernel_size – 取最大值的窗口大小。可以是一个数字 kk(对应于 k×kk \times k 的方形窗口)或一个元组 (kH, kW)

  • output_size – 图像的目标输出大小,形式为 oH×oWoH \times oW。可以是一个元组 (oH, oW) 或一个数字 oHoH(对应于 oH×oHoH \times oH 的方形图像)。

  • output_ratio – 如果希望输出大小是输入大小的比例,可以使用此选项。这必须是一个范围在 (0, 1) 内的数字或元组。

  • return_indices – 如果为 True,则会返回输出和对应的索引。这对于传递给 max_unpool2d() 非常有用。

示例:
>>> input = torch.randn(20, 16, 50, 32)
>>> # pool of square window of size=3, and target output size 13x12
>>> F.fractional_max_pool2d(input, 3, output_size=(13, 12))
>>> # pool of square window and target output size being half of input image size
>>> F.fractional_max_pool2d(input, 3, output_ratio=(0.5, 0.5))