numpy.random.RandomState.set_state#

方法

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 个无符号整数的 1-D 数组 keys

  3. 一个整数 pos

  4. 一个整数 has_gauss

  5. 一个浮点数 cached_gaussian

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

返回:
outNone

成功时返回 'None'。

另请参阅

get_state

备注

set_stateget_state 在 NumPy 中处理任何随机分布时都不是必需的。如果内部状态被手动更改,用户应确切了解其操作的后果。

为了向后兼容,也接受 (str, 包含 624 个无符号整数的数组, 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.