Hello,

I’ve been struggling for hours with this.

Say I have a 2d tensor:

`A = torch.randn(10,4)`

And also a 1d LongTensor of with A.shape[0] elements (e.g. 10)

`I = torch.randint(0,4,(10))`

I’d like an easier but equivalent way of doing this:

`torch.take(A,I+torch.arange(0,I.shape[0])*A.shape[1])`

That is, I want to obtain a 1-d tensor like this: from the 0th row of A, the `I[0]`

-th value, from the first row of A the `I[1]`

-th value, etc.

If I do `A[I]`

it gives me a matrix (I want a 1d tensor) that selects the corresponding rows.

I also tried index_select, but I’m also getting a matrix.

Thank you!