我是靠谱客的博主 顺心金针菇,这篇文章主要介绍你真的会用Python随机数种子吗——Python生成随机数随机种子“失效”:Jupyter中不同cell中生成的随机数不一致,现在分享给大家,希望可以做个参考。

在Python中经常会生成很多随机数,例如Python自带的random库、科学计算库NumPy、深度学习框架PyTorch等都可以生成随机数。
同时为了固定生产的随机数、使得随机数生成可复现,很多时候都会设置随机种子,这样每次都能生成固定的随机数,这样给我们的感觉就像“只要设置了随机数,后面每一次生成的随机数都是一样的”,但是实际上不是这样的:
random
numpy
torch
可以看到,3个库在设置随机种子后,生成的3个随机数都是不同的,所以我们之前的哪种理解是错误的,随机种子固定的是随机过程,而不是每一个随机数本身
对于上面的例子来说,这三次输出结果是通过设置随机数种子确定的,从设置随机数开始,相同的随机数种子后面随机的过程是固定的,第1个cell是随机过程输出的第1个结果,第2个cell是这个固定过程的第2个结果,以此类推。这3个cell输出了3个结果,可以理解成是当前种子下的随机过程输出的连续结果,这3个结果的顺序和数值是当前这个随机数种子决定的。因此,虽然每次生成的随机数结果不同,但是再运行一次这3个cell,生成的3个随机数还是与之前生成的随机数对应相等的,这就是随机数种子确定随机过程,而不是固定这个过程中每一个取值都相同。只要设置了相同的随机数,就会生成一个固定的随机过程,那么不管执行多少次过程,生成的这些随机数都是不变的,只不过每一次结果序列中的各个随机数并不保证一致。同时,随机结果与是否在Jupyter中运行并无关系,在.py文件中运行结果也相同,如下:
torch in py
可以看到,每次的结果并不相同,同时过程是固定的,与Jupyter中是一致的。

最后

以上就是顺心金针菇最近收集整理的关于你真的会用Python随机数种子吗——Python生成随机数随机种子“失效”:Jupyter中不同cell中生成的随机数不一致的全部内容,更多相关你真内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(95)

评论列表共有 0 条评论

立即
投稿
返回
顶部