numpy.random.SeedSequence#
- class numpy.random.SeedSequence(entropy=None, *, spawn_key=(), pool_size=4, n_children_spawned=0)#
SeedSequence 以可重现的方式混合熵源,以独立且极有可能不重叠的 BitGenerators 设置初始状态。
实例化 SeedSequence 后,您可以调用
generate_state方法来获取适当大小的种子。调用spawn(n)将创建n个 SeedSequences,可用于播种独立的 BitGenerators,例如用于不同的线程。- 参数:
- entropy{None, int, sequence[int]}, optional
用于创建
SeedSequence的熵。所有整数值必须为非负数。- spawn_key{(), sequence[int]}, optional
基于此
SeedSequence在使用SeedSequence.spawn方法创建的对象树中的位置的附加熵源。通常,只有SeedSequence.spawn会设置此参数,用户通常不会。- pool_size{int}, optional
要存储的熵池大小。默认值为 4,提供 128 位熵池。如果使用较大的 PRNG,8(256 位)是另一个合理的选择,但选择其他值几乎没有什么好处。
- n_children_spawned{int}, optional
已生成的子项数量。仅在从序列化形式重构
SeedSequence时才传递此参数。
备注
实现可重现比特流的最佳实践是为初始熵使用默认的
None,然后使用SeedSequence.entropy来记录/pickleentropy以便重现。>>> sq1 = np.random.SeedSequence() >>> sq1.entropy 243799254704924441050048792905230269161 # random >>> sq2 = np.random.SeedSequence(sq1.entropy) >>> np.all(sq1.generate_state(10) == sq2.generate_state(10)) True
- 属性:
- entropy
- n_children_spawned
- pool
- pool_size
- spawn_key
- state
方法
generate_state(n_words[, dtype])返回 PRNG 播种所需的词数。
spawn(n_children)通过扩展
spawn_key生成指定数量的子SeedSequence。