使numpy随机绘制与可重复性一致

sri*_*amn 1 python random numpy

我希望能够修复由numpy我的研究的可再现性产生的(伪)随机数序列.我们通常可以通过修复随机种子来实现这个结果,我在Python中使用它np.random.seed来修复值.但是,在两个Python会话之间,我看到同一随机种子的结果不同.请在下面找到两个会话的输出.

Python 2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> np.random.seed = 198908
>>> np.random.uniform(low=0.0, high=1.0, size=10)
array([ 0.43203804,  0.89881118,  0.02976592,  0.93286634,  0.21568609,
        0.44705267,  0.27159611,  0.4000281 ,  0.33873711,  0.54835523])
>>> exit()

Python 2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> np.random.seed = 198908
>>> np.random.uniform(low=0.0, high=1.0, size=10)
array([ 0.20178185,  0.22492203,  0.51029445,  0.4776532 ,  0.49109006,
        0.22807983,  0.86419725,  0.53422946,  0.08904607,  0.83125896])
>>> exit()
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?此外,任何人都可以建议一种方法,将在不同的机器上生成一致的随机抽取(假设安装了相同的软件版本)?

Joh*_*024 5

np.random.seed是一个功能.更换:

np.random.seed = 198908
Run Code Online (Sandbox Code Playgroud)

附:

np.random.seed(198908)
Run Code Online (Sandbox Code Playgroud)

细节

提供的参数seed可以是(1)任何整数或(2)任何长度的整数的数组(或其他序列),或(3)无.如果是None,那么numpy将从Linux上最好的随机源中选择一个种子/dev/urandom.