Метод manual_seed
Метод manual_seed класса torch.Generator устанавливает начальное значение (seed) для генератора случайных чисел.
Этот метод используется для обеспечения воспроизводимости результатов при генерации случайных чисел в PyTorch.
Первый параметр метода - целочисленное значение seed, которое определяет начальное состояние генератора.
Синтаксис
generator.manual_seed(seed)
Пример
Давайте создадим генератор и установим seed для воспроизводимости результатов:
import torch
g = torch.Generator()
g.manual_seed(42)
t = torch.rand(3, generator=g)
print(t)
Результат выполнения кода:
tensor([0.8823, 0.9150, 0.3829])
Пример
Продемонстрируем воспроизводимость результатов при одинаковом seed:
import torch
g1 = torch.Generator()
g1.manual_seed(123)
t1 = torch.rand(5, generator=g1)
g2 = torch.Generator()
g2.manual_seed(123)
t2 = torch.rand(5, generator=g2)
print(t1)
print(t2)
print("Equal:", torch.equal(t1, t2))
Результат выполнения кода:
tensor([0.0457, 0.7318, 0.2568, 0.7906, 0.4010])
tensor([0.0457, 0.7318, 0.2568, 0.7906, 0.4010])
Equal: True
Пример
Сравним результаты с разными seed для генератора:
import torch
g1 = torch.Generator()
g1.manual_seed(1)
t1 = torch.randn(4, generator=g1)
g2 = torch.Generator()
g2.manual_seed(999)
t2 = torch.randn(4, generator=g2)
print(t1)
print(t2)
Результат выполнения кода:
tensor([-1.0310, -0.3947, -0.6317, -0.5456])
tensor([ 0.8092, -0.1016, -0.8482, -0.2169])
Смотрите также
-
класс
Generator,
который представляет генератор случайных чисел -
метод
seed,
который автоматически инициализирует генератор случайным seed -
метод
initial_seed,
который возвращает начальное значение seed генератора -
атрибут
device,
который возвращает устройство генератора