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)