I think your proposals Tensor in this case must be on the CPU.
>>> x = torch.cuda.FloatTensor(10)
>>> x

 0.4566
 0.3533
 0.4751
 0.8944
 0.6360
 0.7817
 0.9507
 0.5861
 0.4613
 0.4808
[torch.cuda.FloatTensor of size 10 (GPU 0)]

>>> scores, idx = torch.topk(x, 2, 0, sorted=True)
>>> scores

 0.9507
 0.8944
[torch.cuda.FloatTensor of size 2 (GPU 0)]

>>> idx

 6
 3
[torch.cuda.LongTensor of size 2 (GPU 0)]

>>> proposals = torch.cuda.FloatTensor(10)
>>> proposals.index_select(0, idx)

 0.3681
 0.9374
[torch.cuda.FloatTensor of size 2 (GPU 0)]