评价此页

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]#

对由多个输入平面组成的输入信号应用 2D 分数最大池化(Fractional Max Pooling)。

关于分数最大池化的详细描述,请参考 Ben Graham 的论文 Fractional MaxPooling

最大池化操作在 kH×kWkH \times kW 的区域内执行,通过目标输出尺寸决定的随机步长进行。输出特征的数量与输入平面的数量相同。

参数:
  • kernel_size – 执行最大值运算的窗口大小。可以是一个单一数字 kk(表示 k×kk \times k 的方形核)或一个元组 (kH, kW)

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

  • 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))