mindspore.ops.ApproximateEqual

查看源文件
class mindspore.ops.ApproximateEqual(tolerance=1e-05)[源代码]

逐元素计算abs(x-y),如果小于tolerance则为True,否则为False。

outi={ if |xiyi|<tolerance,  True if |xiyi|tolerance,  False

tolerance 为相等的两元素间最大偏差。 输入 xy 会通过隐式数据类型转换使数据类型保持一致。如果数据类型不同,低精度的数据类型会被自动转换到高精度的数据类型。

参数:
  • tolerance (float, 可选) - 两元素可被视为相等的最大偏差。默认值:1e-05

输入:
  • x (Tensor) - 输入Tensor,需为以下数据类型:float16、float32。shape: (N,) ,其中 表示任何数量的附加维度。其秩应小于8。

  • y (Tensor) - 输入Tensor,shape和数据类型与 x 相同。

输出:

Tensor,shape与 x 相同,bool类型。

异常:
  • TypeError - tolerance 不是float类型。

  • TypeError - xy 之间的类型转换不被支持。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> x = Tensor(np.array([1, 2, 3]), mindspore.float32)
>>> y = Tensor(np.array([2, 3, 6]), mindspore.float32)
>>> approximate_equal = ops.ApproximateEqual(2.)
>>> output = approximate_equal(x, y)
>>> print(output)
[ True  True  False]