Метод make_seeds
Метод make_seeds класса Generator
создает и возвращает список целых чисел,
которые можно использовать в качестве зерен
для инициализации других генераторов случайных чисел.
Метод не принимает обязательных параметров.
Первым необязательным параметром можно передать
количество зерен, которые нужно сгенерировать.
Если параметр не указан, по умолчанию создается одно зерно.
Метод полезен, когда нужно создать несколько независимых генераторов с воспроизводимыми последовательностями случайных чисел.
Синтаксис
Generator.make_seeds(count)
Пример
Давайте создадим генератор и получим одно зерно:
import tensorflow as tf
gen = tf.random.Generator.from_seed(0)
seeds = gen.make_seeds()
print(seeds)
Результат выполнения кода:
tf.Tensor([0], shape=(1,), dtype=int32)
Пример
Давайте создадим генератор и получим сразу несколько зерен, передав их количество:
import tensorflow as tf
gen = tf.random.Generator.from_seed(0)
seeds = gen.make_seeds(3)
print(seeds)
Результат выполнения кода:
tf.Tensor([0 1 2], shape=(3,), dtype=int32)
Пример
Давайте используем полученные зерна для создания новых генераторов и сравним их вывод:
import tensorflow as tf
gen = tf.random.Generator.from_seed(0)
seeds = gen.make_seeds(2)
gen1 = tf.random.Generator.from_seed(seeds[0].numpy())
gen2 = tf.random.Generator.from_seed(seeds[1].numpy())
print(gen1.normal([]))
print(gen2.normal([]))
Результат выполнения кода:
tf.Tensor(1.5110626, shape=(), dtype=float32)
tf.Tensor(2.1408005, shape=(), dtype=float32)
Смотрите также
-
класс
Generator,
который представляет собой генератор случайных чисел -
метод
from_seed,
который создает генератор из зерна -
метод
reset_from_seed,
который сбрасывает состояние генератора -
метод
normal,
который генерирует случайные числа из нормального распределения