torch.kthvalue¶
- torch.kthvalue(input, k, dim=None, keepdim=False, *, out=None)¶
返回一个命名元组
(values, indices)
,其中values
是k
张量中每行第input
个最小的元素。dim
是找到的每个元素的索引位置。如果未指定
dim
,则选择输入的最后维度。如果
keepdim
是True
,则values
和indices
张量的大小与input
相同,除了在维度dim
上它们的大小为 1。否则,dim
会被压缩(见torch.squeeze()
),导致values
和indices
张量比input
张量少一个维度。注意
当
input
是 CUDA 张量且存在多个有效的k
th 值时,此函数可能非确定性地返回indices
中的任何一个。- 参数:
input (Tensor) – 输入张量。
k(int)- 第 k 小的元素的 k 值
dim(int,可选)- 查找第 k 个值的维度
keepdim(布尔值)- 输出张量是否保留
dim
。
- 关键字参数:
out(元组,可选)- 可选的输出元组(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]]))