mindspore.ops.sub

mindspore.ops.sub(input, other)[source]

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

\[out_{i} = input_{i} - other_{i}\]

Note

  • 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.

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, 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.

Returns

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 input and other are not number.Number or bool or Tensor.

Supported Platforms:

Ascend GPU CPU

Examples

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