numpy.random.
SeedSequence
SeedSequence以一种可复制的方式混合熵源,为独立且很可能不重叠的位生成器设置初始状态。
一旦SeedSequence被实例化,就可以调用 generate_state 方法得到大小合适的种子。打电话 spawn(n) 将创造 n 可用于为独立位生成器(即不同线程)播种的种子序列。
n
创建一个 SeedSequence .
熵的第三个来源,在调用时在内部使用 SeedSequence.spawn
SeedSequence.spawn
要存储的集合熵的大小。默认值为4,表示128位的熵池。如果使用更大的prng,8(256位)是另一个合理的选择,但是选择另一个值几乎没有什么好处。
已生成的子级数。只有在重建一个 SeedSequence 从序列化窗体。
笔记
实现可再现比特流的最佳实践是使用默认值 None 对于初始熵,然后使用 SeedSequence.entropy 记录/酸洗 entropy 再现性:
None
SeedSequence.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
方法
generate_state \(n个单词)[, dtype] )
generate_state
返回请求的PRNG种子的字数。
spawn \(nu儿童)
spawn
产生若干子代 SeedSequence 通过扩展 spawn_key .