reduce_as

paddle.reduce_as(x, target, name=None):

对 x 在某些维度上求和,使其结果与 target 的 shape 一致。

参数

  • x (Tensor) - 输入变量为多维 Tensor,支持数据类型为 bool、float16、 float32、float64、int8、uint8、int16、uint16、int32、int64、complex64 以及 complex128。

  • target (Tensor) - 输入变量为多维 Tensor,x 的 shape 长度必须大于或等于 target 的 shape 长度。支持数据类型为 bool、float16、 float32、float64、int8、uint8、int16、uint16、int32、int64、complex64 以及 complex128。

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

返回

Tensor,输入 x 沿某些轴进行求和,使其结果与 target 的 shape 相同,如果 x 的 type 为 bool 或者为 int32,返回值的 type 将变为 int64,否则返回值的 type 与 x 相同。

代码示例

>>> import paddle

>>> x = paddle.to_tensor([[1, 2, 3, 4], [5, 6, 7, 8]])
>>> x
Tensor(shape=[2, 4], dtype=int64, place=Place(gpu:0), stop_gradient=True,
[[1, 2, 3, 4],
 [5, 6, 7, 8]])
>>> target = paddle.to_tensor([1, 2, 3, 4])
>>> target
Tensor(shape=[4], dtype=int64, place=Place(gpu:0), stop_gradient=True,
[1, 2, 3, 4])
>>> res = paddle.reduce_as(x, target)
>>> res
Tensor(shape=[4], dtype=int64, place=Place(gpu:0), stop_gradient=True,
[6 , 8 , 10, 12])