torch.nanmedian#
- torch.nanmedian(input) Tensor #
返回
input
中值的中位数,忽略NaN
值。当
input
中没有NaN
值时,此函数与torch.median()
相同。当input
包含一个或多个NaN
值时,torch.median()
总是会返回NaN
,而此函数将返回input
中非NaN
元素的 median。如果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
维度上每行的 median,忽略NaN
值;indices
包含在dim
维度上找到的 median 值的索引。当减少的行中没有
NaN
值时,此函数与torch.median()
相同。当减少的行包含一个或多个NaN
值时,torch.median()
会始终将其减少为NaN
,而此函数会将其减少为非NaN
元素的 median。如果减少的行中的所有元素都是NaN
,它也将被减少为NaN
。- 参数
- 关键字参数
out ((Tensor, Tensor), optional) – 第一个张量将填充 median 值,第二个张量(必须是 long 类型)将填充
input
在dim
维度上的索引。
示例
>>> 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]))