I am trying to use `torch.unique()`

.

Let’s say I have a 2D tensor `X = [[1, 2, 3, 4], [1, 2, 3, 4], [3, 4, 5, 6]]`

. If I use the operation `output, inverse_indices = torch.unique(X), sorted=True, return_inverse=True, dim=0)`

, then `output`

would be ` [[1, 2, 3, 4], [3, 4, 5, 6]]`

and `inverse_indices`

would be `[0, 0, 1]`

.

That is, `inverse_indices`

is a tensor of the same length as `X`

and tells us the index of elements of `X`

with respect to the tensor `output`

.

Is there a way to obtain the “reverse” of inverse indices? That is, I want to obtain the indices of `output`

with respect to `X`

. For example, in this case, I want to obtain the indices as `[0, 2]`

(or `[1, 2]`

). I understand that this “reverse” inverse index is not unique since multiple elements of `X`

can be mapped to the same element in `output`

.