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()]))。如果
keepdim
是True
,则输出张量的大小与input
相同,除了在维度dim
上它的大小为 1。否则,dim
被挤压(见torch.squeeze()
),导致输出张量维度减少 1(或len(dim)
)。- 参数:
输入(Tensor)- 输入张量,可以是浮点数或复数数据类型
dim(int 或 int 元组,可选)- 要降低的维度或维度。如果为
None
,则降低所有维度。keepdim(布尔值)- 输出张量是否保留
dim
。
- 关键字参数:
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]) # If all elements in the reduced dimensions are NaN then the result is NaN >>> torch.tensor([torch.nan]).nanmean() tensor(nan)