快捷方式

torch.median

torch.median(input) Tensor

返回 input 中值的 中位数 。

注意

对于具有偶数个元素的 input 张量,中位数不是唯一的。在这种情况下,将返回两个中位数中较小的一个。要计算两个中位数的平均值,请使用 torch.quantile() 并将 q=0.5 作为参数。

警告

median(dim=0) 不同,此函数生成确定性的(子)梯度

参数

input (Tensor) – 输入张量。

示例

>>> a = torch.randn(1, 3)
>>> a
tensor([[ 1.5219, -1.5212,  0.2202]])
>>> torch.median(a)
tensor(0.2202)
torch.median(input, dim=-1, keepdim=False, *, out=None)

返回一个 namedtuple (values, indices),其中 values 包含 input 在维度 dim 上每行的中位数,而 indices 包含在维度 dim 中找到的中位数值的索引。

默认情况下,diminput 张量的最后一个维度。

如果 keepdimTrue,则输出张量的大小与 input 相同,除了维度 dim 的大小为 1。否则,dim 将被压缩(请参阅 torch.squeeze()),从而导致输出张量的维度比 input 少 1。

注意

对于 input 张量,维度 dim 中具有偶数个元素的情况下,中位数不是唯一的。在这种情况下,将返回两个中位数中较小的一个。要计算 input 中两个中位数的平均值,请使用 torch.quantile() 并将 q=0.5 作为参数。

警告

indices 不一定包含找到的每个中位数值的首次出现,除非它是唯一的。确切的实现细节是设备特定的。不要期望在 CPU 和 GPU 上运行时获得相同的结果。出于同样的原因,不要期望梯度是确定性的。

参数
  • input (Tensor) – 输入张量。

  • dim (int) – 要缩减的维度。

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

关键字参数

out ((Tensor, Tensor), 可选) – 第一个张量将填充中位数值,第二个张量(必须具有 long dtype)将填充它们在 input 的维度 dim 中的索引。

示例

>>> a = torch.randn(4, 5)
>>> a
tensor([[ 0.2505, -0.3982, -0.9948,  0.3518, -1.3131],
        [ 0.3180, -0.6993,  1.0436,  0.0438,  0.2270],
        [-0.2751,  0.7303,  0.2192,  0.3321,  0.2488],
        [ 1.0778, -1.9510,  0.7048,  0.4742, -0.7125]])
>>> torch.median(a, 1)
torch.return_types.median(values=tensor([-0.3982,  0.2270,  0.2488,  0.4742]), indices=tensor([1, 4, 4, 3]))

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源