Редактировать: Это должна быть версия на месте:
import torch
import numpy as np
t = torch.rand(10)
print('Original Tensor:', t)
order = np.array(range(10))
np.random.shuffle(order)
print('Order:', order)
# in-place changing of values
t[np.array(range(10))] = t[order]
print('New Tensor:', t)
Вывод:
Original Tensor: tensor([ 0.3380, 0.3450, 0.2253, 0.0279, 0.3945, 0.6055, 0.1489,
0.7676, 0.4213, 0.2683])
Order: [7 1 3 6 2 9 0 5 4 8]
New Tensor: tensor([ 0.7676, 0.3450, 0.0279, 0.1489, 0.2253, 0.2683, 0.3380,
0.6055, 0.3945, 0.4213])
Я надеюсь, что этопримерно то, что вы искали!