快捷方式

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) – 输入张量,必须是浮点型或复数 dtype

  • dim (inttuple of ints, optional) – 要缩减的维度。如果为 None,则缩减所有维度。

  • keepdim (bool) – 输出张量是否保留 dim

关键字参数
  • dtype (torch.dtype, optional) – 返回张量的期望数据类型。如果指定,则在执行操作之前,输入张量将被转换为 dtype。这对于防止数据类型溢出很有用。默认值:None。

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

参见

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 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

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

查看资源