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