class paddle.nn. MaxPool1D ( kernel_size, stride=None, padding=0, return_mask=False, ceil_mode=False, name=None ) [source]

This operation applies 1D max pooling over input signal composed of several input planes based on the input, and kernel_size, stride, padding parameters. Input(X) and Output(Out) are in NCL format, where N is batch size, C is the number of channels, L is the length of the feature.

The output value of the layer with input size (N, C, L), output (N, C, L_{out}) and kernel_size k can be precisely described as For average pool1d:

\[Output(N_i, C_i, l) = max(Input[N_i, C_i, stride imes l:stride imes l+k])\]
  • kernel_size (int|list|tuple) – The pool kernel size. If pool kernel size is a tuple or list, it must contain an integer.

  • stride (int|list|tuple, optional) – The pool stride size. If pool stride size is a tuple or list, it must contain an integer. Default None, then stride will be equal to the kernel_size.

  • padding (str|int|list|tuple, optional) – The padding size. Padding could be in one of the following forms. 1. A string in [‘valid’, ‘same’]. 2. An integer, which means the feature map is zero padded by size of padding on every sides. 3. A list[int] or tuple(int) whose length is 1, which means the feature map is zero padded by the size of padding[0] on every sides. 4. A list[int] or tuple(int) whose length is 2, It has the form [pad_before, pad_after]. 5. A list or tuple of pairs of integers. It has the form [[pad_before, pad_after], [pad_before, pad_after], …]. Note that, the batch dimension and channel dimension should be [0,0] or(0,0). The default value is 0.

  • return_mask (bool, optional) – Whether return the max indices along with the outputs. default is False.

  • ceil_mode (bool, optional) – Whether to use the ceil function to calculate output height and width. False is the default. If it is set to False, the floor function will be used. Default False.

  • name (str, optional) – For detailed information, please refer to Name. Usually name is no need to set and None by default.


A callable object of MaxPool1D.

  • ValueError – If padding is a string, but not “SAME” or “VALID”.

  • ValueError – If padding is “VALID”, but ceil_mode is True.

  • ValueError – If padding is a list or tuple but its length greater than 1.

  • ShapeError – If the input is not a 3-D.

  • ShapeError – If the output’s shape calculated is not greater than 0.

  • x(Tensor): The input tensor of max pool1d operator, which is a 3-D tensor. The data type can be float32, float64.

  • output(Tensor): The output tensor of max pool1d operator, which is a 3-D tensor. The data type is same as input x.


import paddle
import paddle.nn as nn
import numpy as np

data = paddle.to_tensor(np.random.uniform(-1, 1, [1, 3, 32]).astype(np.float32))
MaxPool1D = nn.MaxPool1D(kernel_size=2, stride=2, padding=0)
pool_out = MaxPool1D(data)
# pool_out shape: [1, 3, 16]

MaxPool1D = nn.MaxPool1D(kernel_size=2, stride=2, padding=0, return_mask=True)
pool_out, indices = MaxPool1D(data)
# pool_out shape: [1, 3, 16], indices shape: [1, 3, 16]
forward ( input )


Defines the computation performed at every call. Should be overridden by all subclasses.

  • *inputs (tuple) – unpacked tuple arguments

  • **kwargs (dict) – unpacked dict arguments

extra_repr ( )


Extra representation of this layer, you can have custom implementation of your own layer.