numpy.random.SeedSequence#
- class numpy.random.SeedSequence(entropy=None, *, spawn_key=(), pool_size=4)#
SeedSequence 以可重现的方式混合熵源,从而为独立且很可能不重叠的 BitGenerator 设置初始状态.
实例化 SeedSequence 后,您可以调用 generate_state 方法来获取适当大小的种子. 调用 spawn(n) 将创建
n个 SeedSequence,这些 SeedSequence 可用于为独立的 BitGenerator 播种,例如,用于不同的线程.- 参数:
- 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记录/pickle entropy 以实现可重现性:>>> 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.