mindspore.ops.Equal

class mindspore.ops.Equal[源代码]

逐元素比较两个输入Tensor是否相等。

\[\begin{split}out_{i} =\begin{cases} & \text{True, if } x_{i} = y_{i} \\ & \text{False, if } x_{i} \ne y_{i} \end{cases}\end{split}\]

Note

  • 输入 xy 遵循隐式类型转换规则,使数据类型保持一致。

  • 输入必须是两个Tensor,或一个Tensor和一个Scalar。

  • 当输入是两个Tensor时,它们的shape可以广播。

  • 当输入是一个Tensor和一个Scalar时,Scalar只能是一个常数。

  • 支持广播。

输入:

  • x (Union[Tensor, Number]) - 第一个输入可以是数值型,也可以是数据类型为数值型的Tensor。

  • y (Union[Tensor, Number]) - 当第一个输入是Tensor时,第二个输入是数值型或数据类型为数值型的Tensor。数据类型与第一个输入相同。

输出:

Tensor,输出的shape与输入广播后的shape相同,数据类型为bool。

异常:

  • TypeError - xy 都不是Tensor。

支持平台:

Ascend GPU CPU

样例:

>>> # case 1: The shape of two inputs are different
>>> x = Tensor(np.array([1, 2, 3]), mindspore.float32)
>>> equal = ops.Equal()
>>> output = equal(x, 2.0)
>>> print(output)
[False True False]
>>> # case 2: The shape of two inputs are the same
>>> x = Tensor(np.array([1, 2, 3]), mindspore.int32)
>>> y = Tensor(np.array([1, 2, 4]), mindspore.int32)
>>> equal = ops.Equal()
>>> output = equal(x, y)
>>> print(output)
[ True  True False]