РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
668 of 769 menu

Функция set_rng_state

Функция set_rng_state используется для восстановления состояния генератора случайных чисел CPU. Она принимает один обязательный параметр - объект состояния, полученный с помощью функции get_rng_state. Это позволяет воспроизводить последовательности случайных чисел в разных сессиях работы программы.

Синтаксис

torch.set_rng_state(new_state)

Параметр new_state - это объект типа torch.ByteTensor, содержащий полное состояние генератора. Функция ничего не возвращает.

Пример

Базовый пример сохранения и восстановления состояния генератора для получения повторяющихся результатов:

import torch torch.manual_seed(0) t = torch.rand(3) print(t)

Результат выполнения кода:

tensor([0.4963, 0.7682, 0.0885])

Сохраним состояние после первого вызова rand и восстановим его:

import torch torch.manual_seed(0) t1 = torch.rand(3) state = torch.get_rng_state() t2 = torch.rand(3) torch.set_rng_state(state) t3 = torch.rand(3) print(t1) print(t2) print(t3)

Результат выполнения кода:

tensor([0.4963, 0.7682, 0.0885]) tensor([0.1326, 0.5486, 0.3951]) tensor([0.1326, 0.5486, 0.3951])

Как видим, после восстановления состояния следующее случайное число совпадает с тем, которое было сгенерировано сразу после сохранения состояния.

Пример

Использование set_rng_state для воспроизведения результатов в разных частях программы:

import torch torch.manual_seed(42) state = torch.get_rng_state() t1 = torch.randn(2, 3) # Другой код, который изменяет состояние torch.randn(5) # Восстанавливаем состояние и получаем тот же тензор torch.set_rng_state(state) t2 = torch.randn(2, 3) print(torch.allclose(t1, t2))

Результат выполнения кода:

True

Смотрите также

  • функцию get_rng_state,
    которая возвращает текущее состояние генератора CPU
  • функцию manual_seed,
    которая устанавливает начальное зерно для генератора CPU
  • функцию seed,
    которая автоматически устанавливает случайное зерно для генератора
  • функцию initial_seed,
    которая возвращает начальное зерно генератора CPU
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить