numpy和random work中的种子函数是否需要在每个模块中设置?

Does the seed function in numpy and random work need to be set in every module?

我在打电话

np.random.seed(seed)
random.seed(seed)

__main__ 模块中 foo.py。该模块调用另一个模块 bar.py,该模块也使用 np.randomrandom 的结果。后者是否也需要设置种子?

没有。使用 np.random.seed(...) 设置全局随机状态。

通常这是不可取的。您可能更喜欢在代码中使用 np.random.RandomState() 实例,这样您就不会在运行时为所有其他库代码播种 PRNG。