评价此页

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