numpy.random.Generator.spawn#

метод

random.Generator.spawn(n_children)#

Создать новые независимые дочерние генераторы.

См. SeedSequence spawning для дополнительных заметок о порождении дочерних процессов.

Новое в версии 1.25.0.

Параметры:
n_childrenint
Возвращает:
child_generatorsсписок генераторов
Вызывает:
TypeError

Когда базовый SeedSequence не реализует порождение.

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

random.BitGenerator.spawn, random.SeedSequence.spawn

Эквивалентный метод для генератора битов и последовательности инициализации.

bit_generator

Экземпляр генератора битов, используемый генератором.

Примеры

Начиная с инициализированного генератора по умолчанию:

>>> # High quality entropy created with: f"0x{secrets.randbits(128):x}"
>>> entropy = 0x3034c61a9ae04ff8cb62ab8ec2c4b501
>>> rng = np.random.default_rng(entropy)

Создать два новых генератора, например, для параллельного выполнения:

>>> child_rng1, child_rng2 = rng.spawn(2)

Извлечённые числа из каждого независимы, но получены из начальной энтропии инициализации:

>>> rng.uniform(), child_rng1.uniform(), child_rng2.uniform()
(0.19029263503854454, 0.9475673279178444, 0.4702687338396767)

Безопасно порождать дополнительные дочерние процессы из исходного rng или дочерние элементы:

>>> more_child_rngs = rng.spawn(20)
>>> nested_spawn = child_rng1.spawn(20)