评价此页

torch.topk#

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

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

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

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

返回一个 (values, indices) 的命名元组,其中 valuesindicesinput 张量在指定维度 dim 上每行最大的 k 个元素。

布尔选项 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]))