LPPool2d¶
-
class
torch.nn.
LPPool2d
(norm_type: float, kernel_size: Union[int, Tuple[int, ...]], stride: Union[int, Tuple[int, ...], None] = None, ceil_mode: bool = False)[source]¶ Applies a 2D power-average pooling over an input signal composed of several input planes.
On each window, the function computed is:
At p = , one gets Max Pooling
At p = 1, one gets Sum Pooling (which is proportional to average pooling)
The parameters
kernel_size
,stride
can either be:a single
int
– in which case the same value is used for the height and width dimensiona
tuple
of two ints – in which case, the first int is used for the height dimension, and the second int for the width dimension
Note
If the sum to the power of p is zero, the gradient of this function is not defined. This implementation will set the gradient to zero in this case.
- Parameters
kernel_size – the size of the window
stride – the stride of the window. Default value is
kernel_size
ceil_mode – when True, will use ceil instead of floor to compute the output shape
- Shape:
Input:
Output: , where
Examples:
>>> # power-2 pool of square window of size=3, stride=2 >>> m = nn.LPPool2d(2, 3, stride=2) >>> # pool of non-square window of power 1.2 >>> m = nn.LPPool2d(1.2, (3, 2), stride=(2, 1)) >>> input = torch.randn(20, 16, 50, 32) >>> output = m(input)