class torch.nn.LPPool1d(norm_type: float, kernel_size: Union[T, Tuple[T, ...]], stride: Optional[Union[T, Tuple[T, ...]]] = None, ceil_mode: bool = False) [source]

Applies a 1D power-average pooling over an input signal composed of several input planes.

On each window, the function computed is:

f(X)=xXxppf(X) = \sqrt[p]{\sum_{x \in X} x^{p}}
  • At p = \infty , one gets Max Pooling
  • At p = 1, one gets Sum Pooling (which is proportional to Average Pooling)


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.

  • kernel_size – a single int, the size of the window
  • stride – a single int, 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
  • Input: (N,C,Lin)(N, C, L_{in})
  • Output: (N,C,Lout)(N, C, L_{out}) , where

    Lout=Linkernel_sizestride+1L_{out} = \left\lfloor\frac{L_{in} - \text{kernel\_size}}{\text{stride}} + 1\right\rfloor
>>> # power-2 pool of window of length 3, with stride 2.
>>> m = nn.LPPool1d(2, 3, stride=2)
>>> input = torch.randn(20, 16, 50)
>>> output = m(input)

© 2019 Torch Contributors
Licensed under the 3-clause BSD License.