【发布时间】:2021-08-26 12:26:05
【问题描述】:
我不明白为什么
import numpy as np
rng = np.random.RandomState(42)
rng.randint(10, size=1)
np.random.RandomState(rng.randint(10, size=1)).randint(10, size=3)
>>> OUTPUT: array([8, 9, 3])
和
import numpy as np
np.random.RandomState(42).randint(10, size=1)
np.random.RandomState(np.random.RandomState(42).randint(10, size=1)).randint(10,size=3)
>>> OUTPUT: array([9, 3, 4])
有人可以解释一下区别吗?
【问题讨论】:
-
random应该生成随机数。你的问题到底是什么?如果您希望每次必须设置seed时都生成相同的随机数集。 more information -
在您的第一段代码中,您在第 3 行生成一个随机整数,然后在第 4 行再次生成。注释第 3 行,您将得到相同的输出。
-
@not_speshal 谢谢!我想我现在明白了,运行
rng.randint(10, size=1应该总是返回完全相同的数字。
标签: python numpy random random-seed