pad_constant_like
paddle.fluid.layers.
pad_constant_like
(x, y, pad_value=0.0, name=None)[源代码]
该OP使用 pad_value
填充 y
,填充到每个维度值的数量由x和y的形状而指定,((0,x.shape[0] - y.shape[0]), …, (0, x.shape[i] - y.shape[i]), …, (0, x.shape[n] - y.shape[n]))是每个维度填充的宽度,对于维度i,填充宽度 (0, x.shape[i] - y.shape[i])
,表示在y的第i维开头不填充,而在末尾填充 x.shape[i] - y.shape[i]
个位置。该OP要求y与x具有相同的秩,并且对每个维度i, y.shape[i] <= x.shape[i]
。
样例
- Given:
- X = [[[[ 0, 1, 2],
- [ 3, 4, 5]],
- [[ 6, 7, 8],
- [ 9, 10, 11]],
- [[12, 13, 14],
- [15, 16, 17]]],
- [[[18, 19, 20],
- [21, 22, 23]],
- [[24, 25, 26],
- [27, 28, 29]],
- [[30, 31, 32],
- [33, 34, 35]]]]
- X.shape = (2, 3, 2, 3)
- Y = [[[[35, 36, 37]],
- [[38, 39, 40]],
- [[41, 42, 43]]]]
- Y.shape = (1, 3, 1, 3)
- and
- pad_value = 0.
- Output is:
- out = [[[[35, 36, 37],
- [0, 0, 0]],
- [[38, 39, 40],
- [0, 0, 0]],
- [[41, 42, 43],
- [0, 0, 0]]],
- [[[0, 0, 0],
- [0, 0, 0]],
- [[0, 0, 0],
- [0, 0, 0]],
- [[0, 0, 0],
- [0, 0, 0]]]]
- out.shape = [2, 3, 2, 3]
- 参数:
- x (Variable)- 多维Tensor
- y (Variable)- 多维Tensor,与x具有相同的秩,而且对任意维度
i
,要求满足y.shape[i] <= x.shape[i]
。数据类型为float32或float64 - pad_value (float,可选) - 用于填充的常量值。默认值为0.
- name (str | None) - (str|None) - 该参数供开发人员打印调试信息时使用,具体用法请参见 Name ,默认值为None。
返回:经过维度填充后的Tensor,与x具有相同的shape,与y具有相同的数据类型
返回类型: Variable
示例代码
- # x是秩为4的tensor, x.shape = (2, 3, 2, 3)
- # y是秩为4的tensor, y.shape = (1, 3, 1, 3)
- import paddle.fluid as fluid
- x = fluid.layers.data(name='x', shape=[2,3,2,3], dtype='float32')
- y = fluid.layers.data(name='y', shape=[1,3,1,3], dtype='float32')
- out = fluid.layers.pad_constant_like(x=x, y=y, pad_value=0.)
- # out是秩为4的tensor, out.shape = [2, 3 ,2 , 3]