评价此页

torch.allclose#

torch.allclose(input: Tensor, other: Tensor, rtol: float = 1e-05, atol: float = 1e-08, equal_nan: bool = False) bool#

此函数检查 inputother 是否满足以下条件

inputiotheriatol+rtol×otheri\lvert \text{input}_i - \text{other}_i \rvert \leq \texttt{atol} + \texttt{rtol} \times \lvert \text{other}_i \rvert

逐元素比较,针对 inputother 的所有元素。此函数的行为类似于 numpy.allclose

参数
  • input (Tensor) – 第一个要比较的张量

  • other (Tensor) – 第二个要比较的张量

  • atol (float, optional) – 绝对容差。默认值:1e-08

  • rtol (float, optional) – 相对容差。默认值:1e-05

  • equal_nan (bool, optional) – 如果为 True,则两个 NaN 将被视为相等。默认值: False

示例

>>> torch.allclose(torch.tensor([10000., 1e-07]), torch.tensor([10000.1, 1e-08]))
False
>>> torch.allclose(torch.tensor([10000., 1e-08]), torch.tensor([10000.1, 1e-09]))
True
>>> torch.allclose(torch.tensor([1.0, float('nan')]), torch.tensor([1.0, float('nan')]))
False
>>> torch.allclose(torch.tensor([1.0, float('nan')]), torch.tensor([1.0, float('nan')]), equal_nan=True)
True