Функция randperm
Функция randperm генерирует случайную перестановку целых
чисел от 0 до n-1. Первым параметром функция
принимает количество элементов n. Вторым параметром
можно передать тип данных элементов, по умолчанию int64.
Также доступны параметры для указания устройства и генератора.
Синтаксис
torch.randperm(n, [dtype], [device], [generator])
Пример
Давайте получим случайную перестановку чисел от 0 до 4:
import torch
torch.manual_seed(0)
t = torch.randperm(5)
print(t)
Результат выполнения кода:
tensor([4, 1, 3, 0, 2])
Пример
Создадим перестановку с типом данных float:
import torch
torch.manual_seed(0)
t = torch.randperm(5, dtype=torch.float)
print(t)
Результат выполнения кода:
tensor([4., 1., 3., 0., 2.])
Пример
Используем перестановку для перемешивания элементов тензора:
import torch
torch.manual_seed(0)
data = torch.tensor([10, 20, 30, 40, 50])
perm = torch.randperm(data.size(0))
shuffled = data[perm]
print(shuffled)
Результат выполнения кода:
tensor([50, 20, 40, 10, 30])
Смотрите также
-
функцию
rand,
которая генерирует тензор со случайными числами из равномерного распределения -
функцию
randn,
которая генерирует тензор со случайными числами из нормального распределения -
функцию
randint,
которая генерирует тензор со случайными целыми числами в заданном диапазоне -
функцию
multinomial,
которая генерирует выборку из мультиномиального распределения