numpy.random.set_state#

random.set_state(state)#

從元組設定生成器的內部狀態。

當需要手動(重新)設定 RandomState 實例所使用的位元生成器的內部狀態時使用。 預設情況下,RandomState 使用「Mersenne Twister」[1] 虛擬隨機數生成演算法。

參數:
state{tuple(str, 624 個 uints 的 ndarray, 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, 624 個 uints 的陣列, int) 的形式,儘管它缺少關於快取 Gaussian 值的一些資訊:state = ('MT19937', keys, pos)

參考文獻

[1]

M. Matsumoto 和 T. Nishimura,“Mersenne Twister:一種 623 維均勻分佈的虛擬隨機數生成器”,ACM Trans. on Modeling and Computer Simulation,Vol. 8, No. 1, pp. 3-30, Jan. 1998。