我只是想澄清有关@Robert Kern答案的一些内容,以防万一不清楚。即使您确实使用,RandomState
您也必须在每次调用numpy随机方法时都要初始化它,就像在Robert的示例中那样,否则您将获得以下结果。
Python 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:07:31)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> prng = np.random.RandomState(2019)
>>> prng.randint(-1, 2, size=10)
array([-1, 1, 0, -1, 1, 1, -1, 0, -1, 1])
>>> prng.randint(-1, 2, size=10)
array([-1, -1, -1, 0, -1, -1, 1, 0, -1, -1])
>>> prng.randint(-1, 2, size=10)
array([ 0, -1, -1, 0, 1, 1, -1, 1, -1, 1])
>>> prng.randint(-1, 2, size=10)
array([ 1, 1, 0, 0, 0, -1, 1, 1, 0, -1])
numpy.random.seed()
当我不注意时,有人偷偷使用了该功能。:-)我特意将其保留在原始模块之外。我建议人们使用自己的RandomState
对象实例并传递这些对象。