【发布时间】:2016-05-07 07:15:30
【问题描述】:
在 Python 的 numpy 库中,np.random.seed 方法可以接受两种不同类型的参数:int 和 array_like[int]。
它们之间有什么区别?如:np.random.seed(2)和np.random.seed([2013, 1, 4])。
【问题讨论】:
在 Python 的 numpy 库中,np.random.seed 方法可以接受两种不同类型的参数:int 和 array_like[int]。
它们之间有什么区别?如:np.random.seed(2)和np.random.seed([2013, 1, 4])。
【问题讨论】:
底层Mersenne Twister PRNG 的状态非常大,确切地说是 624 个 32 位整数。如果给定一个整数种子,初始化例程将运行一个较小的 PRNG 以将该单个 32 位整数扩展为完整的 624 元素状态。这确实意味着您无法访问绝大多数可能的状态。
同样,如果给定一个整数序列作为种子,那么另一个较小的 PRNG 将使用它来扩展为 624 个元素,但它可以使用您传递的整个数组。如果这对您很重要,这使您可以访问整个初始状态空间。该算法在标准库的random 模块和numpy.random 之间共享。
【讨论】: