Shortcuts

torch.nanmean

torch.nanmean(input, dim=None, keepdim=False, *, dtype=None, out=None) 张量

计算指定维度上所有非NaN元素的平均值。

input张量中没有NaN值时,此函数与torch.mean()相同。在存在NaN的情况下,torch.mean()会将NaN传播到输出,而torch.nanmean()将忽略NaN值(torch.nanmean(a)等价于torch.mean(a[~a.isnan()]))。

如果 keepdimTrue,输出张量的大小与 input 相同,除了在维度 dim 上大小为1。 否则,dim 被压缩(参见 torch.squeeze()),导致输出张量减少1(或 len(dim))个维度。

Parameters
  • 输入 (张量) – 输入张量。

  • dim (inttupleints可选) – 要减少的维度或多个维度。 如果 None,则所有维度都被减少。

  • keepdim (布尔值) – 输出张量是否保留dim

Keyword Arguments
  • dtype (torch.dtype, 可选) – 返回张量的所需数据类型。 如果指定,输入张量在操作执行前会被转换为 dtype。这对于防止数据类型溢出很有用。默认值:None。

  • 输出 (张量, 可选) – 输出张量。

另请参阅

torch.mean() 计算平均值,传播NaN

示例:

>>> x = torch.tensor([[torch.nan, 1, 2], [1, 2, 3]])
>>> x.mean()
tensor(nan)
>>> x.nanmean()
tensor(1.8000)
>>> x.mean(dim=0)
tensor([   nan, 1.5000, 2.5000])
>>> x.nanmean(dim=0)
tensor([1.0000, 1.5000, 2.5000])

# 如果减少的维度中的所有元素都是NaN,则结果为NaN
>>> torch.tensor([torch.nan]).nanmean()
tensor(nan)
优云智算