jax.numpy.unique_values

jax.numpy.unique_values#

jax.numpy.unique_values(x, /, *, size=None, fill_value=None)[source]#

返回 x 中的唯一值,以及索引、反向索引和计数。

JAX 实现 numpy.unique_values(); 这等效于调用 jax.numpy.unique() 并将 `equal_nan` 设置为 True。

由于 unique_values 输出的大小取决于数据,因此该函数通常与 jit() 和其他 JAX 变换不兼容。JAX 版本添加了可选的 size 参数,该参数必须静态指定才能在这些上下文中使用 jnp.unique

参数:
  • x (ArrayLike) – 将从中提取唯一值的 N 维数组。

  • size (int | None | None) – 如果指定,则仅返回前 size 个排序的唯一元素。如果唯一元素的数量少于 size 指示的数量,则返回值将用 fill_value 填充。

  • fill_value (ArrayLike | None | None) – 当 size 指定且元素数量少于指示数量时,用 fill_value 填充剩余的条目。默认为最小唯一值。

返回值:

形状为 (n_unique,) 的数组 values,包含来自 x 的唯一值。

返回类型:

数组

另请参见

示例

这里我们计算一维数组中的唯一值

>>> x = jnp.array([3, 4, 1, 3, 1])
>>> jnp.unique_values(x)
Array([1, 3, 4], dtype=int32)

有关 sizefill_value 参数的示例,请参见 jax.numpy.unique().