CircularPad1D

class paddle.nn. CircularPad1D ( padding: Tensor | Sequence[int] | int, data_format: DataLayout1D = 'NCL', name: str | None = None ) [source]

This interface is used to construct a callable object of the CircularPad1D class. Pads the input tensor boundaries by circular padding.

Parameters
  • padding (Tensor | Sequence[int] | int) – The padding size. If padding is an int, the same padding is applied to both the left and right side. If padding is a list or tuple of two ints, it is interpreted as (pad_left, pad_right).

  • data_format (str|None) – An string from: “NCL”, “NLC”. Specify the data format of the input data. Default: "NCL"

  • name (str|None, optional) – The default value is None. Normally there is no need for user to set this property. For more information, please refer to api_guide_Name.

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

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

Returns

The padded tensor.

Return type

Tensor

Examples

>>> import paddle
>>> import paddle.nn as nn

>>> input_shape = (1, 2, 3)
>>> pad = [1, 2]
>>> data = paddle.arange(paddle.prod(paddle.to_tensor(input_shape)), dtype="float32").reshape(input_shape) + 1
>>> # data is [[[1., 2., 3.], [4., 5., 6.]]]
>>> my_pad = nn.CircularPad1D(padding=pad)
>>> result = my_pad(data)
>>> print(result)
Tensor(shape=[1, 2, 6], dtype=float32, place=Place(cpu), stop_gradient=True,
[[[3., 1., 2., 3., 1., 2.],
  [6., 4., 5., 6., 4., 5.]]])