笔记|随机种子np.random.seed()

之前看到有个博主在讲随机种子的时候,举了这样一个例子,
https://www.cnblogs.com/sddai/p/14606613.html

np.random.seed(0) a = np.random.rand(10) b = np.random.rand(10) print(a) print(b)

【笔记|随机种子np.random.seed()】输出结果
[0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 0.64589411
0.43758721 0.891773 0.96366276 0.38344152]
[0.79172504 0.52889492 0.56804456 0.92559664 0.07103606 0.0871293
0.0202184 0.83261985 0.77815675 0.87001215]
对于同一个种子下,生成的随机数却不相同的情况,作者解释说:
其实,第二遍的np.random.rand(10)已经不是在之前设置的np.random.seed(0)下了,所以第二遍的随机数组只是在默认random下随机挑选的样本数值。那如何让两次随机数组一样?只需要再输入一遍np.random.seed(0)。
经过我的实验,这个结论并不对哦,之所以出现a和b不同的情况,不是因为种子环境用完一遍随机数就变了,然后就真随机了。
在notebook上做了一个小实验:
笔记|随机种子np.random.seed()
文章图片

所以种子环境还是那个种子环境。它只是把前10个送给了a,之后的10个给了b。如果你一次性拿20个,那就是a与b的和了。

    推荐阅读