numpy.random.RandomState.set_state#

method

random.RandomState.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 个无符号整数 keys 的一维数组.

  3. 整数 pos .

  4. 整数 has_gauss .

  5. 浮点数 cached_gaussian .

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

返回:
outNone

成功时返回"None".

参见

get_state

注释

使用NumPy中的任何随机分布都不需要 set_stateget_state .如果手动更改内部状态,则用户应确切知道他/她在做什么.

为了向后兼容,也接受 (str, 624 个 uint 的数组, int) 格式,尽管它缺少有关缓存的高斯值的一些信息: state = ('MT19937', keys, pos) .

参考文献

[1]

M. Matsumoto and T. Nishimura, “Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom number generator,” ACM Trans. on Modeling and Computer Simulation, Vol. 8, No. 1, pp. 3-30, Jan. 1998.