当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch median用法及代码示例


本文简要介绍python语言中 torch.median 的用法。

用法:

torch.median(input) → Tensor

参数

input(Tensor) -输入张量。

参数

  • input(Tensor) -输入张量。

  • dim(int) -要减少的维度。

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

关键字参数

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

返回 input 中值的中位数。

注意

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

警告

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

例子:

>>> 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)

返回一个命名元组 (values, indices) 其中 values 包含维度 dim 中每行 input 的中值,而 indices 包含维度 dim 中找到的中值的索引。

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

如果 keepdimTrue ,则输出张量的大小与 input 相同,但在维度 dim 中它们的大小为 1。否则,dim 被压缩(参见 torch.squeeze() ),结果在比 input 少 1 个维度的输出张量中。

注意

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

警告

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

例子:

>>> 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.org大神的英文原创作品 torch.median。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。