Метод reset_from_seed
Метод reset_from_seed класса Generator
сбрасывает состояние генератора случайных чисел,
используя переданное зерно. Первым параметром
метод принимает целое число - зерно (seed).
После вызова генератор начинает выдавать
детерминированную последовательность значений,
соответствующую указанному зерну.
Метод полезен, когда нужно вернуть генератор в исходное состояние или получить повторяемые результаты при генерации случайных чисел.
Синтаксис
generator.reset_from_seed(seed)
Пример
Давайте создадим генератор, сгенерируем несколько
случайных чисел, затем сбросим его с помощью
reset_from_seed и убедимся, что последовательность
повторяется:
import tensorflow as tf
gen = tf.random.Generator.from_seed(42)
first = gen.normal([3])
print(first)
gen.reset_from_seed(42)
second = gen.normal([3])
print(second)
Результат выполнения кода:
tf.Tensor([ 0.3424387 -1.5883948 0.64212835], shape=(3,), dtype=float32)
tf.Tensor([ 0.3424387 -1.5883948 0.64212835], shape=(3,), dtype=float32)
Как видно из результата, после сброса генератор выдаёт ту же самую последовательность значений.
Пример
Давайте создадим генератор без начального зерна и сбросим его с указанным зерном:
Результат выполнения кода:
tf.Tensor([0.6005949 0.8963039 0.5915112 0.2962948 0.4684211 ], shape=(5,), dtype=float32)
Смотрите также
-
класс
Generator,
который представляет генератор случайных чисел -
метод
from_seed,
который создает генератор с заданным зерном -
метод
from_non_deterministic_state,
который создает генератор без фиксированного зерна -
метод
normal,
который генерирует значения из нормального распределения