评价此页

torch.topk#

torch.topk(input, k, dim=None, largest=True, sorted=True, *, out=None)#

返回给定 input 张量在给定维度上最大的 k 个元素。

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

如果 largestFalse,则返回最小的 k 个元素。

返回一个包含 valuesindices 的命名元组,其中 valuesinput 张量在给定维度 dim 的每行的最大的 k 个元素的值,indices 是这些元素在原始张量中的索引。

布尔选项 sorted 如果为 True,将确保返回的 k 个元素本身是有序的。

注意

在使用 torch.topk 时,相等元素的索引不保证是稳定的,并且在不同的调用之间可能会有所不同。

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

  • k (int) – “top-k”中的 k

  • dim (int, optional) – 要沿其排序的维度

  • largest (bool, optional) – 控制返回最大值还是最小值元素

  • sorted (bool, optional) – 控制是否按排序顺序返回元素

关键字参数

out (tuple, optional) – 可选的 (Tensor, LongTensor) 输出元组,用作输出缓冲区

示例

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