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)


Access comprehensive developer documentation for PyTorch

View Docs


Get in-depth tutorials for beginners and advanced developers

View Tutorials


Find development resources and get your questions answered

View Resources