mindspore.nn.ConstantPad2d
- class mindspore.nn.ConstantPad2d(padding, value)[source]
Using a given constant value to pads the last two dimensions of input tensor.
- Parameters
padding (Union[int, tuple]) – The padding size to pad the last two dimensions of input tensor. If is int, uses the same padding in boundaries of input’s last two dimensions. If is tuple and length of padding is 4 uses (padding_0, padding_1, padding_2, padding_3) to pad. If the input is x, the size of last dimension of output is \(padding\_0 + x.shape[-1] + padding\_1\). The size of penultimate dimension of output is \(padding\_2 + x.shape[-2] + padding\_3\). The remaining dimensions of the output are consistent with those of the input. Only support non-negative value while running in Ascend.
- Inputs:
x (Tensor) - shape is \((N, *)\), where \(*\) means, any number of additional dimensions. It is not supported that the size of dimensions is greater than 5 while running on Ascend.
- Returns
Tensor, the tensor after padding.
- Raises
TypeError – If padding is not a tuple or int.
TypeError – If value is not int or float.
ValueError – If the length of padding is more than 4 or not a multiple of 2.
ValueError – If the output shape after padding is not positive.
ValueError – If the rank of ‘x’ is more than 5 while running in Ascend.
ValueError – If padding contains negative value while running in Ascend.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import numpy as np >>> import mindspore as ms >>> x = np.ones(shape=(1, 2, 3, 4)).astype(np.float32) >>> x = ms.Tensor(x) >>> padding = (-1, 1, 0, 1) >>> value = 0.5 >>> pad2d = ms.nn.ConstantPad2d(padding, value) >>> out = pad2d(x) >>> print(out) [[[[1. 1. 1. 0.5] [1. 1. 1. 0.5] [1. 1. 1. 0.5] [0.5 0.5 0.5 0.5]] [[1. 1. 1. 0.5] [1. 1. 1. 0.5] [1. 1. 1. 0.5] [0.5 0.5 0.5 0.5]]]] >>> print(out.shape) (1, 2, 4, 4)