mindspore.ops.Sub

class mindspore.ops.Sub[source]

Subtracts the second input tensor from the first input tensor element-wise.

Refer to mindspore.ops.sub() for more details.

Note

  • One of the two inputs must be a Tensor, when the two inputs have different shapes, they must be able to broadcast to a common shape.

  • The two inputs can not be bool type at the same time, [True, Tensor(True, bool_), Tensor(np.array([True]), bool_)] are all considered bool type.

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

Inputs:
  • x (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_.

  • y (Union[Tensor, number.Number, bool]) - The second input, when the first input is a Tensor, the second input should be a number.Number or bool value, or a Tensor whose data type is number or bool. When the first input is Scalar, the second input must be a Tensor whose data type is number or bool.

Outputs:

Tensor, the shape is the same as the two inputs after broadcasting, and the data type is the one with higher precision or higher digits among the two inputs.

Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> x = Tensor(np.array([1, 2, 3]), mindspore.int32)
>>> y = Tensor(np.array([4, 5, 6]), mindspore.int32)
>>> sub = ops.Sub()
>>> output = sub(x, y)
>>> print(output)
[-3 -3 -3]