jax.numpy.mean#

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

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

JAX 对 numpy.mean() 的实现。

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

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

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

  • keepdims (bool) – bool,默认为 False。如果为 True,则保留大小为 1 的约简轴。

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

  • out (None) – JAX 未使用。

返回:

沿给定轴计算平均值的数组。

返回类型:

Array

注意事项

对于 float16bfloat16 类型的输入,将以 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)