megengine.functional.mean#

mean(inp, axis=None, keepdims=False)[源代码]#

计算tensor在给定轴(或所有轴)上的平均值。

参数:
  • inp (Tensor) – 输入张量。 应该有一个数字数据类型。

  • axis (Union[int, Sequence[int], None]) – 指定计算平均值的一个或多个轴。默认情况下,是整个tensor上计算平均值。如果是整数序列,会在多个轴上计算平均值。

  • keepdims (bool) – 若为 “True”,则指定用来reduce的轴(维度)必须包含在结果中,因此,结果必须与输入tensor兼容(参见:ref:`broadcasting-rule `)。否则,若为 “False”,结果中不得包含用于reduce的轴(维度)。

返回类型:

Tensor

返回:

如果是计算整个 tensor 的平均值,则是包含平均值的零维tensor;否则,包含平均值的非零维tensor。返回的tensor必须具有由以下项确定的数据类型:ref:`dtype-promotion `

特殊情况

让”N”等于要计算平均值的元素个数。

  • 如果 N 是0,这平均值是 NaN

  • 如果 \(x_i\)NaN,则平均值是 NaN``(即传播``NaN)。

实际案例

>>> F.mean(Tensor([1, 2, 3]))
Tensor(2.0, device=xpux:0)
>>> import numpy as np
>>> F.mean(Tensor([1, np.nan, 3]))
Tensor(nan, device=xpux:0)

沿着某一轴:

>>> F.mean(Tensor([[1, 2, 3], [4, 5, 6]]), axis=0)
Tensor([2.5 3.5 4.5], device=xpux:0)
>>> F.mean(Tensor([[1, 2, 3], [4, 5, 6]]), axis=1)
Tensor([2. 5.], device=xpux:0)