numpy.random.Generator.spawn#

方法

random.Generator.spawn(n_children)#

创建新的独立子生成器。

有关生成子项的更多说明,请参阅 SeedSequence 生成

版本 1.25.0 中的新功能。

参数:
n_childrenint
返回:
child_generatorsGenerator 列表
引发:
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)