jax.numpy.allclose

内容

jax.numpy.allclose#

jax.numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)[source]#

检查两个数组在容差范围内是否元素级近似相等。

JAX 实现 numpy.allclose().

本质上,此函数评估以下条件

\[|a - b| \le \mathtt{atol} + \mathtt{rtol} * |b|\]

jnp.inf in a 将被认为等于 jnp.inf in b.

参数::
  • a (ArrayLike) – 要比较的第一个输入数组。

  • b (ArrayLike) – 要比较的第二个输入数组。

  • rtol (ArrayLike) – 用于近似相等的相对容差。默认 = 1e-05。

  • atol (ArrayLike) – 用于近似相等的绝对容差。默认 = 1e-08。

  • equal_nan (bool) – 布尔值。如果为 True,则 a 中的 NaN 将被视为等于 b 中的 NaN。默认值为 False

返回值::

布尔标量数组,指示输入数组在指定容差内是否元素级近似相等。

返回类型:

数组

示例

>>> jnp.allclose(jnp.array([1e6, 2e6, 3e6]), jnp.array([1e6, 2e6, 3e7]))
Array(False, dtype=bool)
>>> jnp.allclose(jnp.array([1e6, 2e6, 3e6]),
...              jnp.array([1.00008e6, 2.00008e7, 3.00008e8]), rtol=1e3)
Array(True, dtype=bool)
>>> jnp.allclose(jnp.array([1e6, 2e6, 3e6]),
...              jnp.array([1.00001e6, 2.00002e6, 3.00009e6]), atol=1e3)
Array(True, dtype=bool)
>>> jnp.allclose(jnp.array([jnp.nan, 1, 2]),
...              jnp.array([jnp.nan, 1, 2]), equal_nan=True)
Array(True, dtype=bool)