pad

    该OP依照 pad 和 mode 属性对input进行 pad

    参数:

    • x (Tensor) - Tensor,format可以为 ‘NCL’, ‘NLC’, ‘NCHW’, ‘NHWC’, ‘NCDHW’ 或 ‘NDHWC’,默认值为`‘NCHW’`,数据类型支持float16, float32, float64, int32, int64。

    • mode (str) - padding的四种模式,分别为 ‘constant’, ‘reflect’, ‘replicate’ 和`‘circular’。 `‘constant’ 表示填充常数 value;’reflect’ 表示填充以input边界值为轴的映射;’replicate’ 表示 填充input边界值;’circular’`为循环填充input。具体结果可见以下示例。默认值为 `‘constant’ 。

    • value (float32) - 以 ‘constant’ 模式填充区域时填充的值。默认值为0.0。

    • data_format (str) - 指定input的format,可为 ‘NCL’, ‘NLC’, ‘NCHW’, ‘NHWC’, ‘NCDHW’ 或 ‘NDHWC’,默认值为`‘NCHW’`。

    返回: 对input进行``pad`` 的结果,数据类型和input相同。

    返回类型:Tensor

    示例

    1. import numpy as np
    2. import paddle
    3. # example 1
    4. x = paddle.arange(np.prod(x_shape), dtype="float32").reshape(x_shape) + 1
    5. y = F.pad(x, [2, 3], value=1, mode='constant', data_format="NCL")
    6. print(y)
    7. # [[[1. 1. 1. 2. 3. 1. 1. 1.]]]
    8. x = paddle.arange(np.prod(x_shape), dtype="float32").reshape(x_shape) + 1
    9. y = F.pad(x, [1, 2, 1, 1], value=1, mode='circular')
    10. print(y)
    11. # [[[[6. 4. 5. 6. 4. 5.]
    12. # [3. 1. 2. 3. 1. 2.]
    13. # [6. 4. 5. 6. 4. 5.]