torch.nanmean¶
- torch.nanmean(input, dim=None, keepdim=False, *, dtype=None, out=None) Tensor ¶
计算指定维度上所有“非 NaN”元素的平均值。输入必须是浮点数或复数。
当输入张量中没有“NaN”值时,此函数与
torch.mean()
相同。在存在“NaN”的情况下,torch.mean()
会将“NaN”传播到输出,而torch.nanmean()
会忽略“NaN”值(torch.nanmean(a) 等效于 torch.mean(a[~a.isnan()]))。如果
keepdim
为True
,则输出张量与input
大小相同,除了维度dim
为大小 1 外。否则,dim
将被压缩(参见torch.squeeze()
),导致输出张量减少 1 个(或len(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)