mindspore.ops.Add
- class mindspore.ops.Add[源代码]
两个输入Tensor逐元素相加。
\[out_{i} = x_{i} + y_{i}\]Note
输入 x 和 y 遵循 隐式类型转换规则 ,使数据类型保持一致。
输入必须是两个Tensor,或一个Tensor和一个Scalar。
当输入是两个Tensor时,它们的数据类型不能同时是bool,并保证其shape可以广播。
当输入是一个Tensor和一个Scalar时,Scalar只能是一个常数。
输入:
x (Union[Tensor, number.Number, bool]) - 第一个输入,是一个number.Number、bool值或数据类型为 number 或 bool_ 的Tensor。
y (Union[Tensor, number.Number, bool]) - 第二个输入,当第一个输入是Tensor时,第二个输入应该是一个number.Number或bool值,或数据类型为number或bool_的Tensor。当第一个输入是Scalar时,第二个输入必须是数据类型为number或bool_的Tensor。
输出:
Tensor,shape与输入 x,y 广播后的shape相同,数据类型为两个输入中精度较高的类型。
异常:
TypeError - x 和 y 不是Tensor、number.Number或bool。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> # case 1: x and y are both Tensor. >>> add = ops.Add() >>> x = Tensor(np.array([1, 2, 3]).astype(np.float32)) >>> y = Tensor(np.array([4, 5, 6]).astype(np.float32)) >>> output = add(x, y) >>> print(output) [5. 7. 9.] >>> # case 2: x is a scalar and y is a Tensor >>> add = ops.Add() >>> x = Tensor(1, mindspore.int32) >>> y = Tensor(np.array([4, 5, 6]).astype(np.float32)) >>> output = add(x, y) >>> print(output) [5. 6. 7.] >>> # the data type of x is int32, the data type of y is float32, >>> # and the output is the data format of higher precision float32. >>> print(output.dtype) Float32