mindspore.ops.isclose

mindspore.ops.isclose(x1, x2, rtol=1e-05, atol=1e-08, equal_nan=False)[源代码]

返回一个布尔型Tensor,表示 x1 的每个元素与 x2 的对应元素在给定容忍度内是否“接近”,其中“接近”的数学公式为:

\[∣x1−x2∣ ≤ atol + rtol × ∣x2∣\]

参数:

  • x1 (Tensor) - 对比的第一个输入,支持的类型有float32,float16,int32。

  • x2 (Tensor) - 对比的第二个输入,支持的类型有float32,float16,int32。

  • rtol (float, optional) - 相对容忍度。默认值:1e-05。

  • atol (float, optional) - 绝对容忍度。默认值:1e-08。

  • equal_nan (bool, optional) - 若为True,则两个NaN被视为相同。默认值:False。

返回:

Tensor,shape与广播后的shape相同,数据类型是布尔型。

异常:

  • TypeError - 如果 x1x2 中的任何一个不是Tensor。

  • TypeError - 如果 x1x2 的数据类型不是float16、float32或int32之一。

  • TypeError - 如果 atolrtol 中的任何一个不是float。

  • TypeError - 如果 equal_nan 不是bool。

  • TypeError - 如果 x1x2 的数据类型不同。

  • ValueError - 如果 x1x2 无法广播。

  • ValueError - 如果 atolrtol 中的任何一个小于零。

支持平台:

CPU

样例:

>>> input = Tensor(np.array([1.3, 2.1, 3.2, 4.1, 5.1]), mindspore.float16)
>>> other = Tensor(np.array([1.3, 3.3, 2.3, 3.1, 5.1]), mindspore.float16)
>>> output = ops.isclose(input, other)
>>> print(output)
[ True False False False  True]