subtract

paddle.subtract ( x, y, name=None ) [源代码]

该OP是逐元素相减算子,输入 x 与输入 y 逐元素相减,并将各个位置的输出元素保存到返回结果中。

等式是:

subtract - 图1

注解

paddle.subtract 遵守broadcasting,如您想了解更多,请参见 广播 (broadcasting)

参数

  • x (Tensor)- 输入的Tensor。数据类型为 float32float64int32int64

  • y (Tensor)- 输入的Tensor。数据类型为 float32float64int32int64

  • name (str, 可选)- 操作的名称(可选,默认值为None)。更多信息请参见 Name

返回

Tensor,存储运算后的结果。如果x和y有不同的shape且是可以广播的,返回Tensor的shape是x和y经过广播后的shape。如果x和y有相同的shape,返回Tensor的shape与x,y相同。

代码示例

  1. import numpy as np
  2. import paddle
  3. x = paddle.to_tensor([[1, 2], [7, 8]])
  4. y = paddle.to_tensor([[5, 6], [3, 4]])
  5. res = paddle.subtract(x, y)
  6. print(res)
  7. # [[-4, -4],
  8. # [4, 4]]
  9. x = paddle.to_tensor([[[1, 2, 3], [1, 2, 3]]])
  10. y = paddle.to_tensor([1, 0, 4])
  11. res = paddle.subtract(x, y)
  12. print(res)
  13. # [[[ 0, 2, -1],
  14. # [ 0, 2, -1]]]
  15. x = paddle.to_tensor([2, np.nan, 5], dtype='float32')
  16. y = paddle.to_tensor([1, 4, np.nan], dtype='float32')
  17. res = paddle.subtract(x, y)
  18. print(res)
  19. # [ 1., nan, nan]
  20. x = paddle.to_tensor([5, np.inf, -np.inf], dtype='float64')
  21. y = paddle.to_tensor([1, 4, 5], dtype='float64')
  22. res = paddle.subtract(x, y)
  23. print(res)
  24. # [ 4., inf., -inf.]