【发布时间】:2020-10-22 07:35:14
【问题描述】:
如何在全球范围内设置numpy.random.seed(0)?看来我每次调用np.random 函数时都必须重置种子。
import numpy as np
np.random.seed(0)
print(np.random.randint(0,10,2))
np.random.seed(0)
print(np.random.randint(0,10,2))
print(np.random.randint(0,10,2))
np.random.seed(0)
print(np.random.rand())
np.random.seed(0)
print(np.random.rand())
print(np.random.rand())
[5 0]
[5 0]
[3 3]
0.5488135039273248
0.5488135039273248
0.7151893663724195
【问题讨论】:
-
如果你想要固定数字,使用随机数有什么意义?
-
这可能会回答你的问题:stackoverflow.com/a/21494630/14280520
-
如果您能回答您认为需要重置它的原因,那么我们将有机会帮助您
-
对于您的要求,几乎没有可以想象的用例——您几乎肯定会犯错误。你认为你为什么需要这个?
-
您采取了错误的方法。您要求的东西会破坏程序中任何地方使用 NumPy 随机例程的所有代码,包括您没有编写且不想影响的内容,以及您确实编写的内容与这部分无关。与其尝试“在全球范围内”设置种子,不如在本地,通过使用您自己的
numpy.random.RandomState实例(或者更好,在新代码中使用numpy.random.Generator)来设置。跨度>
标签: python numpy random random-seed