Suppose I have a tensor, a, that I wish to index.
a has:
B batches;
C channels;
and dimensions X, Y, Z that contain the values I want to index.
a.shape
>> torch.Size([B, C, X, Y, Z])

I have a list of tensors, b, of length B, each containing N indices I want to obtain. Each element of the list may have different values for N ie. N0, N1…
len(b)
>> B

b[0].shape
>> torch.Size([N0, 3])

b[1].shape
>> torch.Size([N1, 3])

To be clear, having indexed the tensor, the final result I want is the following:
len(out)
>> B

out[0].shape
>> torch.Size([C, N0])

out[1].shape
>> torch.Size([C, N1])

What is the best way of going about this?