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