mindspore.ops.Sub

class mindspore.ops.Sub[source]

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

\[out_{i} = x_{i} - y_{i}\]

Note

  • Inputs of x and y comply with the implicit type conversion rules to make the data types consistent.

  • The inputs must be two tensors or one tensor and one scalar.

  • When the inputs are two tensors, dtypes of them cannot be bool at the same time, and the shapes of them can be broadcast.

  • When the inputs are one tensor and one scalar, the scalar could only be a constant.

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 one after broadcasting, and the data type is the one with higher precision or higher digits among the two inputs.

Raises

TypeError – If x and y is not a number.Number or a bool or a Tensor.

Supported Platforms:

Ascend GPU CPU

Examples

>>> 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]