I’m not sure if you really get the indices you would like to have.
Have a look at the following code:
a = torch.arange(6*32).view(6,32)
idxs = [(2,1),(2,6)]
print(a[idxs])
> tensor([66, 38])

You are basically getting a[2, 2] and a[1, 6], which explains the error in the other example.
If you want a[2, 1] and a[2, 6] try:
idxs = ([2, 2], [1, 6])
a[idxs]
a[2, 1]
a[2, 6]

Note that the error is hidden in your first example, as the column and row tensors are (2, 2) and (2, 1).