AdaptiveMaxPool2d — PyTorch 2.7 documentation (original) (raw)
class torch.nn.AdaptiveMaxPool2d(output_size, return_indices=False)[source][source]¶
Applies a 2D adaptive max pooling over an input signal composed of several input planes.
The output is of size Hout×WoutH_{out} \times W_{out}, for any input size. The number of output features is equal to the number of input planes.
Parameters
- output_size (Union[_int,_ None , tuple_[_Optional_[_int] , Optional_[_int] ] ]) – the target output size of the image of the form Hout×WoutH_{out} \times W_{out}. Can be a tuple (Hout,Wout)(H_{out}, W_{out}) or a single HoutH_{out} for a square image Hout×HoutH_{out} \times H_{out}. HoutH_{out} and WoutW_{out}can be either a
int
, orNone
which means the size will be the same as that of the input. - return_indices (bool) – if
True
, will return the indices along with the outputs. Useful to pass to nn.MaxUnpool2d. Default:False
Shape:
- Input: (N,C,Hin,Win)(N, C, H_{in}, W_{in}) or (C,Hin,Win)(C, H_{in}, W_{in}).
- Output: (N,C,Hout,Wout)(N, C, H_{out}, W_{out}) or (C,Hout,Wout)(C, H_{out}, W_{out}), where(Hout,Wout)=output_size(H_{out}, W_{out})=\text{output\_size}.
Examples
target output size of 5x7
m = nn.AdaptiveMaxPool2d((5, 7)) input = torch.randn(1, 64, 8, 9) output = m(input)
target output size of 7x7 (square)
m = nn.AdaptiveMaxPool2d(7) input = torch.randn(1, 64, 10, 9) output = m(input)
target output size of 10x7
m = nn.AdaptiveMaxPool2d((None, 7)) input = torch.randn(1, 64, 10, 9) output = m(input)