mindspore.nn.ReplicationPad2d

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

Pad on HW 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 4-tuple, uses (padleft,padright,padup,paddown) to pad.

Inputs:
  • x (Tensor) - 3D or 4D, shape: (C,Hin,Wout) or (N,C,Hout,Wout).

Outputs:

Tensor, after padding. Shape: (C,Hout,Wout) or (N,C,Hout,Wout), where Hout=Hin+padup+paddown, Wout=Win+padleft+padright.

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 ReplicationPad2d
>>> pad2d = ReplicationPad2d(2)
>>> input = Tensor(np.arange(0, 9).reshape(1, 1, 3, 3), mindspore.float32)
>>> input
Tensor(shape=[1, 1, 3, 3], dtype=Float32, value=
     [[[[0., 1., 2.],
          [3., 4., 5.],
          [6., 7., 8.]]]])
>>> out = pad2d(input)
>>> print(out)
Tensor(shape=[1, 1, 7, 7], dtype=Float32, value=
     [[[[0., 0., 0., 1., 2., 2., 2.],
          [0., 0., 0., 1., 2., 2., 2.],
          [0., 0., 0., 1., 2., 2., 2.],
          [3., 3., 3., 4., 5., 5., 5.],
          [6., 6., 6., 7., 8., 8., 8.],
          [6., 6., 6., 7., 8., 8., 8.],
          [6., 6., 6., 7., 8., 8., 8.]]]])
>>> pad2d = nn.ReplicationPad2d((1, 1, 2, 0))
>>> out = m(input)
>>> print(out)
Tensor(shape=[1, 1, 5, 5], 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.]]]])