jax.numpy.isclose#

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

檢查兩個陣列的元素是否在容差範圍內近似相等。

JAX 實現的 numpy.allclose()

本質上,此函數評估以下條件

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

a 中的 jnp.inf 將被視為等於 b 中的 jnp.inf

參數:
  • a (ArrayLike) – 要比較的首個輸入陣列。

  • b (ArrayLike) – 要比較的第二個輸入陣列。

  • rtol (ArrayLike) – 用於近似相等的相對容差。預設值 = 1e-05。

  • atol (ArrayLike) – 用於近似相等的絕對容差。預設值 = 1e-08。

  • equal_nan (bool) – 布林值。如果為 True,則 a 中的 NaN 將被視為等於 b 中的 NaN。預設值為 False

返回:

一個新的陣列,其中包含布林值,指示輸入陣列是否在指定的容差範圍內逐元素近似相等。

返回類型:

陣列

範例

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