mindspore.Tensor.approximate_equal

Tensor.approximate_equal(y, tolerance=1e-05)[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
  • y (Tensor) – Second tensor to compare, with data type belongs to float32, float16.

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

Returns

Tensor, has the same shape as self tensor, 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

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