mindspore.mint.sub

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

Subtracts scaled other value from input Tensor.

\[out_{i} = input_{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 (Union[Tensor, number.Number, bool]) – The first input is a number.Number or a bool or a tensor whose data type is number or bool_.

  • other (Union[Tensor, number.Number, bool]) –

    The second input, is a number.Number or a bool or a tensor whose data type is number or bool_.

Keyword Arguments

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

Returns

Tensor with a shape that is the same as the broadcasted shape of the input input 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 input, 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
>>> from mindspore import 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=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