mindspore.ops.approximate_equal

View Source On Gitee
mindspore.ops.approximate_equal(x, y, tolerance=1e-5)[source]

Returns True if abs(x-y) is smaller than tolerance element-wise, otherwise False .

\[\begin{split}out_i = \begin{cases} & \text{ if } \left | x_{i} - y_{i} \right | < \text{tolerance},\ \ True \\ & \text{ if } \left | x_{i} - y_{i} \right | \ge \text{tolerance},\ \ False \end{cases}\end{split}\]

where tolerance indicates Acceptable maximum tolerance.

Inputs of x and y comply with the implicit type conversion rules to make the data types consistent. If they have different data types, the lower precision data type will be converted to the relatively highest precision data type.

Parameters
  • x (Tensor) – A tensor. Must be one of the following types: float32, float16. \((N,*)\) where \(*\) means, any number of additional dimensions.

  • y (Tensor) – A tensor of the same type and shape as x.

  • tolerance (float) – The maximum deviation that two elements can be considered equal. Default: 1e-5 .

Returns

Tensor, the shape is the same as the shape of x, and the data type is bool.

Raises
  • TypeError – If tolerance is not a float.

  • RuntimeError – If the data type of x, y conversion of Parameter is given but data type conversion of Parameter is not supported.

Supported Platforms:

Ascend GPU CPU

Examples

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