Фиксация зерна генератора в PyTorch
Чтобы повторить одну и ту же
последовательность псевдослучайных
чисел, перед вызовами задают
зерно. Функция manual_seed
переключает глобальный генератор
PyTorch на выбранное начальное
состояние.
Два подряд идущих заполнения равномерными числами после одного и того же зерна дают разные тензоры, потому что генератор сдвигается. Если между вызовами снова выставить то же зерно, следующий тензор совпадёт с первым:
import torch
torch.manual_seed(7)
first = torch.rand(2)
torch.manual_seed(7)
second = torch.rand(2)
print(first) # выведет tensor([0.5349, 0.1988])
print(second) # выведет tensor([0.5349, 0.1988])
Задайте зерно 1, получите
ряд из 3 чисел от нуля
до единицы и выведите его.
Снова задайте зерно 1,
получите ещё один такой ряд
и выведите его.
Задайте зерно 5, выведите
одно случайное число от нуля
до единицы, затем ещё одно
без смены зерна.
Задайте зерно 9, получите
таблицу 2 на 2
из равномерных чисел и выведите
её. Повторите зерно 9
и выведите вторую такую таблицу.