Pad2D

class paddle.nn. Pad2D ( padding, mode='constant', value=0.0, data_format='NCHW', name=None ) [源代码]

按照 padding、mode 和 value 属性对输入进行填充。

参数

  • padding (Tensor|list[int]|int]) - 填充大小。如果是 int,则在所有待填充边界使用相同的填充,否则填充的格式为[pad_left, pad_right, pad_top, pad_bottom]。

  • mode (str,可选) - padding 的四种模式,分别为 'constant''reflect''replicate''circular',默认值为 'constant'

    • 'constant' 表示填充常数 value

    • 'reflect' 表示填充以输入边界值为轴的映射;

    • 'replicate' 表示填充输入边界值;

    • 'circular' 为循环填充输入。

  • value (float,可选) - 以 'constant' 模式填充区域时填充的值。默认值为 \(0.0\)

  • data_format (str,可选) - 指定输入的数据格式,可为 'NCHW' 或者 'NHWC',默认值为 'NCHW'

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

代码示例

>>> import paddle
>>> import paddle.nn as nn

>>> input_shape = (1, 1, 2, 3)
>>> pad = [1, 0, 1, 2]
>>> mode = "constant"
>>> data = paddle.arange(paddle.prod(paddle.to_tensor(input_shape)), dtype="float32").reshape(input_shape) + 1
>>> my_pad = nn.Pad2D(padding=pad, mode=mode)
>>> result = my_pad(data)
>>> print(result)
Tensor(shape=[1, 1, 5, 4], dtype=float32, place=Place(cpu), stop_gradient=True,
[[[[0., 0., 0., 0.],
   [0., 1., 2., 3.],
   [0., 4., 5., 6.],
   [0., 0., 0., 0.],
   [0., 0., 0., 0.]]]])

使用本API的教程文档