【发布时间】:2018-06-27 20:19:33
【问题描述】:
以下两个版本代码应该给出相同的输出。看起来 np.random.seed 每次都需要调用。对吗?
有没有办法设置一次种子,每次都生成相同的随机数
np.random.seed(0)
for _ in range(10):
print(np.random.randint(low=1, high=100))
输出: 45 48 65 68 68 10 84 22 37 88
for _ in range(10):
np.random.seed(0)
print(np.random.randint(low=1, high=100))
输出:45 45 45 45 45 45 45 45 45 45
【问题讨论】:
-
Er.. 在第一个版本中,您设置一次种子,然后重复请求一个随机值,在第二个版本中,您在每次迭代中设置种子,然后请求一个每次都相同的随机值,你期待什么?
-
嗯,不。如果您在 randint 之前播种,您将始终获得相同的值
-
"以下两个版本代码应该给出相同的输出。"为什么?
-
两个代码块不应给出相同的输出。检查此答案以很好地解释 np.random.seed(0) 的作用:stackoverflow.com/questions/21494489/…
-
我已经编辑了要添加的问题 - “有没有办法设置一次种子,以便每次生成相同的随机数”