allclose¶
- paddle. allclose ( x, y, rtol=1e-05, atol=1e-08, equal_nan=False, name=None ) [source]
-
Check if all x and y satisfy the condition:
|x−y|≤atol+rtol×|y|elementwise, for all elements of x and y. This is analogous to numpy.allclose, namely that it returns True if two tensors are elementwise equal within a tolerance.
- Parameters
-
x (Tensor) – The input tensor, it’s data type should be float16, float32, float64.
y (Tensor) – The input tensor, it’s data type should be float16, float32, float64.
rtol (rtoltype, optional) – The relative tolerance. Default: 1e−5 .
atol (atoltype, optional) – The absolute tolerance. Default: 1e−8 .
equal_nan (equalnantype, optional) – (bool), attribute 2 for allclose op. Default: False.
name (str, optional) – Name for the operation. For more information, please refer to Name. Default: None.
- Returns
-
The output tensor, it’s data type is bool.
- Return type
-
Tensor
Examples
>>> import paddle >>> x = paddle.to_tensor([10000., 1e-07]) >>> y = paddle.to_tensor([10000.1, 1e-08]) >>> result1 = paddle.allclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=False, name="ignore_nan") >>> print(result1) Tensor(shape=[], dtype=bool, place=Place(cpu), stop_gradient=True, False) >>> result2 = paddle.allclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=True, name="equal_nan") >>> print(result2) Tensor(shape=[], dtype=bool, place=Place(cpu), stop_gradient=True, False) >>> x = paddle.to_tensor([1.0, float('nan')]) >>> y = paddle.to_tensor([1.0, float('nan')]) >>> result1 = paddle.allclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=False, name="ignore_nan") >>> print(result1) Tensor(shape=[], dtype=bool, place=Place(cpu), stop_gradient=True, False) >>> result2 = paddle.allclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=True, name="equal_nan") >>> print(result2) Tensor(shape=[], dtype=bool, place=Place(cpu), stop_gradient=True, True)