我正在使用具有以下 mwe 的 numpy 隨機數產生器:
import numpy as np np.random.seed(40) print(np.random.randint(-3, 4)) rng = np.random.default_rng(seed=40) print(rng.integers(-3, 4))
輸出:
3 0
為什麼輸出會不同?
numpy.random.randint
和numpy.random.seed
使用舊的隨機API,其底層實現完全不同。 numpy.random.default_rng
建立一個 Generator 對象,這是新的 API。
這兩個 API 其實是兩個完全獨立的 RNG 函式庫,剛好位於同一命名空間中。即使使用相同的種子,輸出也不會匹配。
以上是為什麼使用相同的種子會得到不同的隨機數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!