【发布时间】:2018-02-22 21:17:25
【问题描述】:
同一个项目有两个不同设置的python运行,但随机种子相同。
该项目包含一个使用numpy.random.uniform 返回几个随机数的函数。
不管在 python 进程中numpy.random 的其他用途如何,两次运行中的一系列函数调用都会生成相同的序列,直到某个点。
并且在该点产生了一次不同的结果之后,它们在一段时间内再次产生相同的序列。
我还没有尝试过使用numpy.random.RandomState,但这怎么可能?
在某处使用numpy.random 的东西引起了差异并再次修复它只是巧合吗?
我很好奇这是唯一的可能性还是有其他解释。
提前致谢。
添加:我忘了说当时没有播种。
【问题讨论】:
-
没有代码,谁知道呢?他们显然没有进行完全相同的调用顺序,尽管他们似乎进行了相同的 number 次调用。我的猜测是对哈希排序敏感,但我没有数据可以使用。
-
你能提供一个可重现的、最小的例子吗?如果没有具体的实施细节,很难给出有意义的建议。
-
感谢您的 cmets。这实际上是一个巨大的项目,我想排除其他可能性。我在想,如果我可以挂钩
numpy.random相关的调用,调试起来会更容易。 -
每次单独运行是否使用相同数量的 any
random函数调用?或者您是否有一些其他随机数正在生成取决于该运行的设置? -
@AndrewGuy 他们最终使用不同数量的调用(不是一开始)。我想我不能用另一种方式来解释它。 :)
标签: python numpy-random