快捷方式

torch.nanmean

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

计算指定维度上所有非 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))个。

参数
  • input (Tensor) – 输入张量,浮点或复数类型

  • dim (intint 的 tuple,可选) – 要归约的维度或维度。如果为 None,则归约所有维度。

  • keepdim (bool) – 输出张量是否保留 dim 指定的维度。

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

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

另请参阅

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])

# If all elements in the reduced dimensions are NaN then the result is NaN
>>> torch.tensor([torch.nan]).nanmean()
tensor(nan)

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取适合初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源