Mis*_*cht 68 python random seed
我有一个相当大的程序,我random在不同的文件中使用模块中的函数.我希望能够在一个地方设置一次随机种子,使程序始终返回相同的结果.甚至可以实现python吗?
Jon*_*nts 99
运行的主要python模块应该import random并且调用random.seed(n)- random只要其他地方没有重置种子,这将在所有其他导入之间共享.
乔恩·克莱门茨几乎回答了我的问题。然而这不是真正的问题:事实证明,我的代码随机性的原因是 numpy.linalg SVD,因为它并不总是为条件不良的矩阵产生相同的结果!
因此,如果您遇到同样的问题,请务必检查您的代码中的情况!
基于之前的答案:请注意,即使所有种子都受到控制,许多结构也可能会分散执行路径。
我在想“好吧,我设置了我的种子,所以它们总是相同的,并且我没有更改/外部依赖项,因此我的代码的执行路径应该始终相同”,但这是错误的。
令我震惊的例子是 list(set(...)),其中生成的顺序可能有所不同。