torch.nanmedian¶
- torch.nanmedian(input) → Tensor
返回
input中值的中间值,忽略NaN值。此函数在没有
NaN值时与torch.median()相同。当input有一个或多个NaN值时,torch.median()总是返回NaN,而此函数将返回input中非NaN元素的均值。如果input中的所有元素都是NaN,它也将返回NaN。- 参数:
input (Tensor) – 输入张量。
示例:
>>> a = torch.tensor([1, float('nan'), 3, 2]) >>> a.median() tensor(nan) >>> a.nanmedian() tensor(2.)
- torch.nanmedian(input, dim=-1, keepdim=False, *, out=None)
返回一个命名元组
(values, indices),其中values包含input中每行的中位数,在维度dim上忽略NaN值,indices包含在维度dim上找到的中位数值的索引。当一个缩减行中没有
NaN值时,此函数与torch.median()相同。当一个缩减行有一个或多个NaN值时,torch.median()将始终将其缩减为NaN,而此函数将将其缩减为非NaN元素的中位数。如果一个缩减行中的所有元素都是NaN,则它也将被缩减为NaN。- 参数:
input (Tensor) – 输入张量。
dim(整数)- 要减少的维度。
keepdim(布尔值)- 输出张量是否保留
dim。
- 关键字参数:
out ((Tensor, Tensor), 可选) – 第一个张量将被填充为中值,第二个张量,其数据类型必须为 long,将填充它们的索引,索引维度为
dim和input。
示例:
>>> a = torch.tensor([[2, 3, 1], [float('nan'), 1, float('nan')]]) >>> a tensor([[2., 3., 1.], [nan, 1., nan]]) >>> a.median(0) torch.return_types.median(values=tensor([nan, 1., nan]), indices=tensor([1, 1, 1])) >>> a.nanmedian(0) torch.return_types.nanmedian(values=tensor([2., 1., 1.]), indices=tensor([0, 1, 0]))