Shortcuts

AdaptiveMaxPool2d

class torch.nn.AdaptiveMaxPool2d(output_size, return_indices=False)[源代码]

对由多个输入平面组成的输入信号应用二维自适应最大池化。

输出的大小为 Hout×WoutH_{out} \times W_{out},对于任何输入大小。 输出特征的数量等于输入平面的数量。

Parameters
  • output_size (Union[int, None, Tuple[Optional[int], Optional[int]]]) – 图像的目标输出大小,形式为 Hout×WoutH_{out} \times W_{out}。 可以是一个元组 (Hout,Wout)(H_{out}, W_{out}) 或一个单独的 HoutH_{out} 用于 方形图像 Hout×HoutH_{out} \times H_{out}HoutH_{out}WoutW_{out} 可以是 <span class

  • return_indices (bool) – 如果为True,将返回输出以及对应的索引。 用于传递给 nn.MaxUnpool2d。默认值:False

Shape:
  • 输入:(N,C,Hin,Win)(N, C, H_{in}, W_{in})(C,Hin,Win)(C, H_{in}, W_{in})

  • 输出: (N,C,Hout,Wout)(N, C, H_{out}, W_{out})(C,Hout,Wout)(C, H_{out}, W_{out}), 其中 (Hout,Wout)=output_size(H_{out}, W_{out})=\text{output\_size}

示例

>>> # 目标输出尺寸为5x7
>>> m = nn.AdaptiveMaxPool2d((5, 7))
>>> input = torch.randn(1, 64, 8, 9)
>>> output = m(input)
>>> # 目标输出尺寸为7x7(方形)
>>> m = nn.AdaptiveMaxPool2d(7)
>>> input = torch.randn(1, 64, 10, 9)
>>> output = m(input)
>>> # 目标输出尺寸为10x7
>>> m = nn.AdaptiveMaxPool2d((None, 7))
>>> input = torch.randn(1, 64, 10, 9)
>>> output = m(input)
优云智算