Say I have a tensor a = [[2,9,0],[4,1,3],[7,6,8]]
and I want the largest 4 values and their indices, so [(9, [0, 1]), (8, [2, 2]), (7, [2, 0]), (6, [2, 1])]
, would it be more efficient to do torch.topk(a.view([1, 9]), 4)
and then search through the original tensor for those values to get the positions of each value or would it be more efficient to convert the tensor to a list of lists?
I’d probably go for your topk
call on a flattened tensor and unreaveling the indices as described here:
Best regards
Thomas
2 Likes