mindspore.ops.isclose

查看源文件
mindspore.ops.isclose(input, other, rtol=1e-05, atol=1e-08, equal_nan=False)[源代码]

返回一个布尔型tensor,表示两个tensor在容忍度内是否逐元素相等。数学公式为:

|inputother|atol+rtol×|other|

如果inf值具有相同的符号,则认为它们相等;如果 equal_nanTrue ,NaN值被认为相等 。

参数:
  • input (Tensor) - 第一个输入tensor。

  • other (Tensor) - 第二个输入tensor。

  • rtol (Union[float, int, bool], 可选) - 相对容忍度。默认 1e-05

  • atol (Union[float, int, bool], 可选) - 绝对容忍度。默认 1e-08

  • equal_nan (bool, 可选) - 两个NaN是否被视为相等。 默认 False

返回:

Tensor

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> mindspore.ops.isclose(mindspore.tensor([2e6, float("inf"), float("-inf"), float("inf"), float("nan")]),
...                       mindspore.tensor([2e7, float("inf"), float("-inf"), float("-inf"), float("nan")]))
Tensor(shape=[6], dtype=Bool, value= [ True, False,  True,  True, False, False])
>>>
>>> mindspore.ops.isclose(mindspore.tensor([1e6, 2e6, 3e6]),
...                       mindspore.tensor([1.00008e6, 2.00008e7, 3.00008e8]), rtol=1e3)
Tensor(shape=[3], dtype=Bool, value= [ True,  True,  True])
>>>
>>> mindspore.ops.isclose(mindspore.tensor([1e6, 2e6, 3e6]),
...                       mindspore.tensor([1.00001e6, 2.00002e6, 3.00009e6]), atol=1e3)
Tensor(shape=[3], dtype=Bool, value= [ True,  True,  True])
>>> mindspore.ops.isclose(mindspore.tensor([float("nan"), 1, 2]),
...                       mindspore.tensor([float("nan"), 1, 2]), equal_nan=True)
Tensor(shape=[3], dtype=Bool, value= [ True,  True,  True])