mindspore.nn.ReplicationPad1d

class mindspore.nn.ReplicationPad1d(padding)[source]

Pad on W dimension of input x according to padding.

Parameters

padding (union[int, tuple]) – the size of the padding. If is int, uses the same padding in all boundaries. If is tuple, uses \((pad_{left}, pad_{right})\) to pad.

Inputs:
  • x (Tensor) - 2D or 3D, shape: \((C, W_{in})\) or \((N, C, W_{in})\).

Outputs:

Tensor, after padding. Shape: \((C, W_{out})\) or \((N, C, W_{out})\), where \(W_{out} = W_{in} + pad_{left} + pad_{right}\)

Raises
  • TypeError – If padding is neither a tuple nor an int.

  • TypeError – If there is an element in padding that is not int.

  • ValueError – If padding is tuple and the length of padding is not divisible by 2.

  • ValueError – If padding is tuple and there is a dimension mismatch between the padding and the tensor.

Supported Platforms:

GPU

Examples::
>>> import numpy as np
>>> from mindspore import Tensor
>>> from mindspore.nn import ReplicationPad1d
>>> x = Tensor(np.array([[[0, 1, 2], [3, 4, 5], [6, 7, 8]]]).astype(np.float32))
>>> pad1d = ReplicationPad1d(2)
>>> input = Tensor(np.arange(0, 8).reshape(1, 2, 4), mindspore.float32)
>>> input
Tensor(shape=[1, 2, 4], dtype=Float32, value=
      [[[0., 1., 2., 3.],
         [4., 5., 6., 7.]]])
>>> out = pad1d(input)
>>> print(out)
Tensor(shape=[1, 2, 8], dtype=Float32, value=
      [[[0., 0., 0., 1., 2., 3., 3., 3.],
         [4., 4., 4., 5., 6., 7., 7., 7.]]])
>>> pad1d = ReplicationPad1d((3, 1))
>>> out = pad1d(input)
>>> print(out)
Tensor(shape=[1, 2, 8], dtype=Float32, value=
      [[[0., 0., 0., 0., 1., 2., 3., 3.],
         [4., 4., 4., 4., 5., 6., 7., 7.]]])