pad_constant_like
该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, 。
示例:
x (Variable)- 多维Tensor
y (Variable)- 多维Tensor,与x具有相同的秩,而且对任意维度
i
,要求满足y.shape[i] <= x.shape[i]
。数据类型为float32或float64
返回:经过维度填充后的Tensor,与x具有相同的shape,与y具有相同的数据类型
示例代码
# x是秩为4的tensor, x.shape = (2, 3, 2, 3)
# y是秩为4的tensor, y.shape = (1, 3, 1, 3)
y = fluid.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]