mindspore.mint.sub

View Source On Gitee
mindspore.mint.sub(input, other, *, alpha=1) Tensor[source]

Subtracts scaled other value from self Tensor.

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

Note

  • When the two inputs have different shapes, they must be able to broadcast to a common shape.

  • The two inputs and alpha comply with the implicit type conversion rules to make the data types consistent.

Parameters
  • input (Tensor) – Input data, which type is Tensor.

  • other (Union[Tensor, number.Number, bool]) – The second self, is a number.Number or a bool or a tensor whose data type is number or bool_.

Keyword Arguments

alpha (number.Number, optional) – A scaling factor applied to other, default 1.

Returns

Tensor with a shape that is the same as the broadcasted shape of the self self and other, and the data type is the one with higher precision or higher digits among the two inputs and alpha.

Raises
  • TypeError – If the type of other or alpha is not one of the following: Tensor, number.Number, bool.

  • TypeError – If alpha is of type float but input and other are not of type float.

  • TypeError – If alpha is of type bool but input and other are not of type bool.

Supported Platforms:

Ascend

Examples

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