Shortcuts

class torch.nn.ConstantPad2d(padding: Union[T, Tuple[T, T, T, T]], value: float)[source]

Pads the input tensor boundaries with a constant value.

For N-dimensional padding, use torch.nn.functional.pad().

Parameters

padding (int, tuple) – the size of the padding. If is int, uses the same padding in all boundaries. If a 4-tuple, uses ($\text{padding\_left}$ , $\text{padding\_right}$ , $\text{padding\_top}$ , $\text{padding\_bottom}$ )

Shape:
• Input: $(N, C, H_{in}, W_{in})$

• Output: $(N, C, H_{out}, W_{out})$ where

$H_{out} = H_{in} + \text{padding\_top} + \text{padding\_bottom}$

$W_{out} = W_{in} + \text{padding\_left} + \text{padding\_right}$

Examples:

>>> m = nn.ConstantPad2d(2, 3.5)
>>> input = torch.randn(1, 2, 2)
>>> input
tensor([[[ 1.6585,  0.4320],
[-0.8701, -0.4649]]])
>>> m(input)
tensor([[[ 3.5000,  3.5000,  3.5000,  3.5000,  3.5000,  3.5000],
[ 3.5000,  3.5000,  3.5000,  3.5000,  3.5000,  3.5000],
[ 3.5000,  3.5000,  1.6585,  0.4320,  3.5000,  3.5000],
[ 3.5000,  3.5000, -0.8701, -0.4649,  3.5000,  3.5000],
[ 3.5000,  3.5000,  3.5000,  3.5000,  3.5000,  3.5000],
[ 3.5000,  3.5000,  3.5000,  3.5000,  3.5000,  3.5000]]])
>>> # using different paddings for different sides
>>> m = nn.ConstantPad2d((3, 0, 2, 1), 3.5)
>>> m(input)
tensor([[[ 3.5000,  3.5000,  3.5000,  3.5000,  3.5000],
[ 3.5000,  3.5000,  3.5000,  3.5000,  3.5000],
[ 3.5000,  3.5000,  3.5000,  1.6585,  0.4320],
[ 3.5000,  3.5000,  3.5000, -0.8701, -0.4649],
[ 3.5000,  3.5000,  3.5000,  3.5000,  3.5000]]])


## Docs

Access comprehensive developer documentation for PyTorch

View Docs

## Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials