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 \((pad_{left}, pad_{right}, pad_{up}, pad_{down})\) to pad.
- Inputs:
x (Tensor) - 3D or 4D, shape: \((C, H_{in}, W_{out})\) or \((N, C, H_{out}, W_{out})\).
- Outputs:
Tensor, after padding. Shape: \((C, H_{out}, W_{out})\) or \((N, C, H_{out}, W_{out})\), where \(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 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.]]]])