Aldebaran
(Celso França)
#1
Given the following 2D tensor whit shape [N,E]:

```
#N=3, E=3
r1 = torch.tensor([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
```

how to swap the `r1`

“rows” to get results like the one shown below:

```
r1 = torch.tensor([
[1, 2, 3],
[7, 8, 9],
[4, 5, 6]
])
```

**Note**: any permutation between the “rows” would be valid.

Hi!

```
>>> r1[[0,2,1]]
tensor([[1, 2, 3],
[7, 8, 9],
[4, 5, 6]])
```

Is this what you want?

Aldebaran
(Celso França)
#3
Hello @Ruslan_Baynazarov,

It’s good answer, thank you! The following is a code snippet showing the complete example:

```
batch_size = 3
embedding_size = 4
sample = torch.rand(batch_size, embedding_size)
# tensor([[0.8855, 0.1571, 0.2649, 0.6999],
# [0.0864, 0.3912, 0.1669, 0.6979],
# [0.3881, 0.5181, 0.4245, 0.3675]])
shuffle_index = torch.randperm(batch_size)
# tensor([2, 0, 1])
shuffled_sample = sample[[shuffle_index]]
# tensor([[0.3881, 0.5181, 0.4245, 0.3675],
# [0.8855, 0.1571, 0.2649, 0.6999],
# [0.0864, 0.3912, 0.1669, 0.6979]])
```