Pad3D¶
- class paddle.nn. Pad3D ( padding, mode='constant', value=0.0, data_format='NCDHW', name=None ) [源代码] ¶
按照 padding、mode 和 value 属性对输入进行填充。
参数¶
padding (Tensor|list[int]|int) - 填充大小。如果是 int,则在所有待填充边界使用相同的填充,否则填充的格式为[pad_left, pad_right, pad_top, pad_bottom, pad_front, pad_back]。
mode (str,可选) - padding 的四种模式,分别为
'constant'
、'reflect'
、'replicate'
和'circular'
,默认值为'constant'
。
'constant'
表示填充常数value
;
'reflect'
表示填充以输入边界值为轴的映射;
'replicate'
表示填充输入边界值;
'circular'
为循环填充输入。value (float,可选) - 以
'constant'
模式填充区域时填充的值。默认值为 \(0.0\)。data_format (str,可选) - 指定输入的数据格式,可为
'NCDHW'
或者'NDHWC'
,默认值为'NCDHW'
。name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。
返回¶
无
代码示例¶
import paddle
import paddle.nn as nn
input_shape = (1, 1, 1, 2, 3)
pad = [1, 0, 1, 2, 0, 0]
mode = "constant"
data = paddle.arange(paddle.prod(paddle.to_tensor(input_shape)), dtype="float32").reshape(input_shape) + 1
my_pad = nn.Pad3D(padding=pad, mode=mode)
result = my_pad(data)
print(result)
# [[[[[0. 0. 0. 0.]
# [0. 1. 2. 3.]
# [0. 4. 5. 6.]
# [0. 0. 0. 0.]
# [0. 0. 0. 0.]]]]]