AdaptiveMaxPool3d#
- class torch.nn.modules.pooling.AdaptiveMaxPool3d(output_size, return_indices=False)[source]#
Applies a 3D adaptive max pooling over an input signal composed of several input planes.
The output is of size , for any input size. The number of output features is equal to the number of input planes.
Each output element is the maximum over a cuboidal region of the input. The bounds are computed independently for each spatial dimension, from an output index , an input size and an output size :
The region for output element spans along the depth dimension, and likewise with and along height and width.
When an input size is not divisible by the corresponding output size, these regions may have different sizes and may overlap.
- Parameters:
output_size (int | None | tuple[int | None, int | None, int | None]) – the target output size of the image of the form . Can be a tuple or a single for a cube . , and can be either an
int, orNonewhich 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.MaxUnpool3d. Default:False
- Shape:
Input: or .
Output: or , where .
Examples
>>> # target output size of 5x7x9 >>> m = nn.AdaptiveMaxPool3d((5, 7, 9)) >>> input = torch.randn(1, 64, 8, 9, 10) >>> output = m(input) >>> # target output size of 7x7x7 (cube) >>> m = nn.AdaptiveMaxPool3d(7) >>> input = torch.randn(1, 64, 10, 9, 8) >>> output = m(input) >>> # target output size of 7x9x8 >>> m = nn.AdaptiveMaxPool3d((7, None, None)) >>> input = torch.randn(1, 64, 10, 9, 8) >>> output = m(input)