mindspore.Tensor.sub

Tensor.sub(other, *, alpha=1) Tensor

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

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 self and other are not of type float.

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

Supported Platforms:

Ascend GPU CPU

Examples

>>> import numpy as np
>>> import mindspore
>>> from mindspore import Tensor
>>> x = Tensor(np.array([4, 5, 6]).astype(np.float32))
>>> y = Tensor(1, mindspore.int32)
>>> alpha = 0.5
>>> output = Tensor.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
Tensor.sub(y) Tensor

For details, please refer to mindspore.ops.sub() .