Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/api/paddle/Overview_cn.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ tensor数学操作
" :ref:`paddle.addmm <cn_api_tensor_addmm>` ", "计算输入Tensor x和y的乘积,将结果乘以标量alpha,再加上input与beta的乘积,得到输出"
" :ref:`paddle.all <cn_api_tensor_all>` ", "对指定维度上的Tensor元素进行逻辑与运算"
" :ref:`paddle.allclose <cn_api_tensor_allclose>` ", "逐个检查输入Tensor x和y的所有元素是否均满足 ∣x−y∣≤atol+rtol×∣y∣"
" :ref:`paddle.isclose <cn_api_tensor_isclose>` ", "逐个检查输入Tensor x和y的所有元素是否满足 ∣x−y∣≤atol+rtol×∣y∣"
" :ref:`paddle.any <cn_api_tensor_any>` ", "对指定维度上的Tensor元素进行逻辑或运算"
" :ref:`paddle.asin <cn_api_fluid_layers_asin>` ", "arcsine函数"
" :ref:`paddle.atan <cn_api_fluid_layers_atan>` ", "arctangent函数"
Expand Down
54 changes: 54 additions & 0 deletions docs/api/paddle/isclose_cn.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
.. _cn_api_tensor_isclose:

isclose
-------------------------------

.. py:function:: paddle.isclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=False, name=None)

逐个检查x和y的所有元素是否均满足如下条件:

.. math::
\left| x - y \right| \leq atol + rtol \times \left| y \right|

该API的行为类似于 :math:`numpy.isclose` ,即逐个比较两个Tensor的所有元素是否在一定容忍误差范围内视为相等。

参数
:::::::::

- **x** (Tensor) - 输入的 `Tensor` ,数据类型为:float32、float64。
- **y** (Tensor) - 输入的 `Tensor` ,数据类型为:float32、float64。
- **rtol** (float,可选) - 相对容忍误差,默认值为1e-5。
- **atol** (float,可选) - 绝对容忍误差,默认值为1e-8。
- **equal_nan** (bool,可选) - 如果设置为True,则两个NaN数值将被视为相等,默认值为False。
- **name** (str,可选)- 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。

返回
:::::::::
计算得到的布尔类型Tensor。

代码示例
:::::::::

.. code-block:: python

import paddle
x = paddle.to_tensor([10000., 1e-07])
y = paddle.to_tensor([10000.1, 1e-08])
result1 = paddle.isclose(x, y, rtol=1e-05, atol=1e-08,
equal_nan=False, name="ignore_nan")
np_result1 = result1.numpy()
# [True, False]
result2 = paddle.isclose(x, y, rtol=1e-05, atol=1e-08,
equal_nan=True, name="equal_nan")
np_result2 = result2.numpy()
# [True, False]
x = paddle.to_tensor([1.0, float('nan')])
y = paddle.to_tensor([1.0, float('nan')])
result1 = paddle.isclose(x, y, rtol=1e-05, atol=1e-08,
equal_nan=False, name="ignore_nan")
np_result1 = result1.numpy()
# [True, False]
result2 = paddle.isclose(x, y, rtol=1e-05, atol=1e-08,
equal_nan=True, name="equal_nan")
np_result2 = result2.numpy()
# [True, True]