jax.numpy.mean#

jax.numpy.mean(a, axis=None, dtype=None, out=None, keepdims=False, *, where=None)[source]#

沿给定轴返回数组元素的均值。

numpy.mean() 的 JAX 实现。

参数:
  • a (ArrayLike) – 输入数组。

  • axis (Axis | None) – 可选,整数或整数序列,默认值=None。计算均值所沿的轴。如果为 None,则沿所有轴计算均值。

  • dtype (DTypeLike | None | None) – 输出数组的类型。如果为 None(默认),则对于浮点输入,输出 dtype 将与输入 dtype 匹配,或者对于非浮点输入,将设置为 float32 或 float64。

  • keepdims (bool) – 布尔值,默认值=False。如果为 true,则在结果中保留大小为 1 的缩减轴。

  • where (ArrayLike | None | None) – 可选,布尔数组,默认值=None。用于计算均值的元素。数组应与输入广播兼容。

  • out (None | None) – JAX 未使用。

返回值:

沿给定轴的均值数组。

返回类型:

Array

说明

对于 float16 或 bfloat16 类型的输入,缩减操作将在 float32 精度下执行。

另请参阅

示例

默认情况下,均值沿所有轴计算。

>>> x = jnp.array([[1, 3, 4, 2],
...                [5, 2, 6, 3],
...                [8, 1, 2, 9]])
>>> jnp.mean(x)
Array(3.8333335, dtype=float32)

如果 axis=1,则沿轴 1 计算均值。

>>> jnp.mean(x, axis=1)
Array([2.5, 4. , 5. ], dtype=float32)

如果 keepdims=True,则输出的 ndim 等于输入的 ndim

>>> jnp.mean(x, axis=1, keepdims=True)
Array([[2.5],
       [4. ],
       [5. ]], dtype=float32)

要仅使用 x 的特定元素来计算均值,可以使用 where

>>> where = jnp.array([[1, 0, 1, 0],
...                    [0, 1, 0, 1],
...                    [1, 1, 0, 1]], dtype=bool)
>>> jnp.mean(x, axis=1, keepdims=True, where=where)
Array([[2.5],
       [2.5],
       [6. ]], dtype=float32)