I am sorry, but I am not sure if I fully understand what you want yet.
Is this what you are looking for?
input = torch.randint(10, (10, ))
input
# tensor([2, 9, 7, 9, 4, 4, 6, 1, 3, 3])

selection = torch.Tensor([0, 5, 4, 7])
selection
# tensor([0., 5., 4., 7.])

input[selection.long()].reshape((2, 2))
# tensor([[2, 4],
#        [4, 1]])