我运行以下代码:
np.random.RandomState(3)
idx1 = np.random.choice(range(20),(5,))
idx2 = np.random.choice(range(20),(5,))
np.random.RandomState(3)
idx1S = np.random.choice(range(20),(5,))
idx2S = np.random.choice(range(20),(5,))
我得到的输出如下:
^{pr2}$idx1和idx1S匹配,但idx2和idx2S不匹配。我希望一旦我种子随机数生成器和重复相同的命令序列-它应该产生相同的随机数序列。这不是真的吗?或者我还缺少什么?在
您将
RandomState
与seed
混淆。你的第一行构造了一个对象,你可以用它作为你的随机源。例如,我们然后呢
^{pr2}$[我不明白为什么你的
idx1
和idx1S
同意,但实际上你没有发布一份完整的成绩单,所以我怀疑是用户错误。]如果要影响全局状态,请使用
seed
:使用一个特定的
RandomState
对象乍一看可能不太方便,但是当您想要不同的熵流时,它会使很多事情变得更容易。在我认为您应该使用RandomState类,如下所示:
基本上,创建RandomState的一个实例
r
,并进一步使用它。可以看出,重设侧线会产生相同的结果。在相关问题 更多 >
编程相关推荐