numpy.random.Generator.spawn#
方法
- random.Generator.spawn(n_children)#
建立新的獨立子產生器。
請參閱 SeedSequence 衍生 以取得關於衍生子代的額外說明。
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)