Pytorch中的topk操作“返回给定输入Tensor沿着给定维度的k个最大元素”(来自here)。但是它是否有一个相反的操作,返回最小的k个元素?
top k
x = torch.arange(1., 6.)
print(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]))
字符串
min k -->是否存在?
x = torch.arange(1., 6.)
print(x)
>>> tensor([ 1., 2., 3., 4., 5.])
torch.mink(x, 3) # doesn't run
>>> torch.return_types.mink(values=tensor([1., 2., 3.]), indices=tensor([0, 1, 2]))
型
我知道一种解决方法是将Tensor乘以-1
:
torch.topk(-x, 3)
型
但是想知道这个mink
操作是否已经存在。
1条答案
按热度按时间toe950271#
查看文档页面https://pytorch.org/docs/stable/generated/torch.topk.html
有一个关键字参数来获取最小值(和索引)
largest(bool,可选)-控制返回最大或最小的元素
所以
mink
就是functools.partial(torch.topk, largest=False)