mindspore.nn.ReplicationPad3d

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

Pad on DHW 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 a 6-tuple, uses \((pad_{left}, pad_{right}, pad_{up}, pad_{down}, pad_{front}, pad_{back})\).

Inputs:
  • x (Tensor) - 4D or 5D, shape: \((C, D_{in}, H_{in}, W_{in})\) or \((N, C, D_{in}, H_{in}, W_{in})\).

Outputs:

Tensor, after padding, shape: \((C, D_{out}, H_{out}, W_{out})\) or \((N, C, D_{out}, H_{out}, W_{out})\), where \(D_{out} = D_{in} + pad_{front} + pad_{back}\), \(H_{out} = H_{in} + pad_{up} + pad_{down}\), \(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 ReplicationPad3d
>>> pad3d = ReplicationPad3d(1)
>>> input = Tensor(np.arange(0, 9).reshape(1, 1, 1, 3, 3), mindspore.float32)
>>> out = pad3d(input)
>>> print(out)
Tensor(shape=[1, 1, 7, 7], dtype=Float32, value=
       [[[[[0., 0., 1., 2., 2.], [0., 0., 1., 2., 2.], [0., 0., 1., 2., 2.],
           [3., 3., 4., 5., 5.], [6., 6., 7., 8., 8.]],
          [[0., 0., 1., 2., 2.], [0., 0., 1., 2., 2.], [0., 0., 1., 2., 2.],
           [3., 3., 4., 5., 5.], [6., 6., 7., 8., 8.]],
          [[0., 0., 1., 2., 2.], [0., 0., 1., 2., 2.], [0., 0., 1., 2., 2.],
           [3., 3., 4., 5., 5.], [6., 6., 7., 8., 8.]]]]])