numpy.random.set_state#

random.set_state(state)#

从元组设置生成器的内部状态。

如果需要手动(重新)设置 RandomState 实例使用的比特生成器的内部状态,则可以使用此方法。默认情况下,RandomState 使用“Mersenne Twister”[1] 伪随机数生成算法。

参数:
state{tuple(str, ndarray of 624 uints, int, int, float), dict}

state 元组包含以下项目

  1. 字符串 ‘MT19937’,指定 Mersenne Twister 算法。

  2. 一个包含 624 个无符号整数的 1 维数组 keys

  3. 一个整数 pos

  4. 一个整数 has_gauss

  5. 一个浮点数 cached_gaussian

如果 state 是一个字典,则使用 BitGenerators 的 state 属性直接设置它。

返回值:
outNone

成功时返回 ‘None’。

参见

get_state

备注

set_stateget_state 不需要与 NumPy 中的任何随机分布一起使用。如果手动更改内部状态,用户应该确切知道自己在做什么。

为了向后兼容,(str, array of 624 uints, int) 的形式也被接受,尽管它缺少有关缓存的高斯值的一些信息:state = ('MT19937', keys, pos)

参考文献

[1]

M. Matsumoto 和 T. Nishimura,“Mersenne Twister:一个 623 维均匀分布的伪随机数生成器”,《ACM 计算机模拟建模汇刊》,第 8 卷,第 1 期,第 3-30 页,1998 年 1 月。