mindspore.Tensor.add

查看源文件
mindspore.Tensor.add(other)

selfother 逐元素相加。

\[out_{i} = self_{i} + other_{i}\]

说明

  • selfother 具有不同的shape时,它们的shape必须要能广播为一个共同的shape。

  • selfother 不能同时为bool类型。[True, Tensor(True, bool_), Tensor(np.array([True]), bool_)]等都为bool类型。

  • selfother 遵循隐式类型转换规则,使数据类型保持一致。

  • self 的维度应大于或等于1。

参数:
  • other (Union[Tensor, number.Number, bool]) - other 是一个number.Number、bool值或数据类型为 numberbool_ 的Tensor。

返回:

Tensor,shape与输入 selfother 广播后的shape相同,数据类型为两个输入中精度较高的类型。

异常:
  • TypeError - other 不是Tensor、number.Number或bool。

支持平台:

Ascend GPU CPU

样例:

>>> import numpy as np
>>> import mindspore
>>> from mindspore import Tensor
>>> # case 1: x and y are both Tensor.
>>> x = Tensor(np.array([1, 2, 3]).astype(np.float32))
>>> y = Tensor(np.array([4, 5, 6]).astype(np.float32))
>>> output = Tensor.add(x, y)  # x.add(y)
>>> print(output)
[5. 7. 9.]
>>> # case 2: x is a scalar and y is a Tensor
>>> x = Tensor(1, mindspore.int32)
>>> y = Tensor(np.array([4, 5, 6]).astype(np.float32))
>>> output = Tensor.add(x, y)  # x.add(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
mindspore.Tensor.add(other, *, alpha=1)

other 缩放后与 self 相加。

\[out_{i} = self_{i} + alpha \times other_{i}\]

说明

  • selfother 的shape不同时, 它们必须能够广播到一个共同的shape。

  • selfotheralpha 遵守隐式类型转换规则以使数据类型保持一致。

参数:
  • other (Union[Tensor, number.Number, bool]) - other 是一个 number.Number、一个 bool 或一个数据类型为 numberbool_ 的Tensor。

关键字参数:
  • alpha (number.Number) - 应用于 other 的缩放因子,默认值为 1

返回:

Tensor,其shape与 selfother 广播后的shape相同, 数据类型是 selfother 和 alpha 中精度更高或位数更多的类型。

异常:
  • TypeError - 如果 otheralpha 不是以下之一:Tensor、number.Number、bool。

  • TypeError - 如果 alpha 是 float 类型,但是 selfother 不是 float 类型。

  • TypeError - 如果 alpha 是 bool 类型,但是 selfother 不是 bool 类型。

支持平台:

Ascend GPU CPU

样例:

>>> import numpy as np
>>> import mindspore
>>> from mindspore import Tensor
>>> x = Tensor(1, mindspore.int32)
>>> y = Tensor(np.array([4, 5, 6]).astype(np.float32))
>>> alpha = 0.5
>>> output = Tensor.add(x, y, alpha=alpha)  # x.add(y, alpha=alpha)
>>> print(output)
[3. 3.5 4.]
>>> # the data type of x is int32, the data type of y is float32,
>>> # alpha is a float, and the output is the data format of higher precision float32.
>>> print(output.dtype)
Float32