评价此页

torch.kthvalue#

torch.kthvalue(input, k, dim=None, keepdim=False, *, out=None)#

返回一个命名元组 (values, indices),其中 valuesinput 张量在给定维度 dim 的每行的第 k 小的元素。而 indices 是找到的每个元素的索引位置。

如果未指定 `dim`,则选择 `input` 的最后一个维度。

如果 keepdimTrue,则 valuesindices 张量的大小与 input 相同,除了在维度 dim 上大小为 1。否则,dim 会被压缩(参见 torch.squeeze()),导致 valuesindices 张量都比 input 张量少一个维度。

注意

input 是 CUDA 张量且存在多个有效的第 k 小值时,此函数可能会不确定地返回其中任何一个的 indices

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

  • k (int) – 用于查找第 k 小元素的 k 值

  • dim (int, optional) – 沿哪个维度查找第 k 小值

  • keepdim (bool, optional) – 输出张量是否保留维度 dim。默认值:False

关键字参数

out (tuple, optional) – 可选地提供 (Tensor, LongTensor) 输出元组用于输出缓冲区

示例

>>> x = torch.arange(1., 6.)
>>> x
tensor([ 1.,  2.,  3.,  4.,  5.])
>>> torch.kthvalue(x, 4)
torch.return_types.kthvalue(values=tensor(4.), indices=tensor(3))

>>> x=torch.arange(1.,7.).resize_(2,3)
>>> x
tensor([[ 1.,  2.,  3.],
        [ 4.,  5.,  6.]])
>>> torch.kthvalue(x, 2, 0, True)
torch.return_types.kthvalue(values=tensor([[4., 5., 6.]]), indices=tensor([[1, 1, 1]]))