np.random.seed(0)有什么用?
np.random.seed(0)
使随机数可预测
>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55, 0.72, 0.6 , 0.54])
>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55, 0.72, 0.6 , 0.54])
随着种子重置(每次),每次都会出现相同的一组数字。
如果未重置随机种子,则每次调用都会出现不同的数字:
>>> numpy.random.rand(4)
array([ 0.42, 0.65, 0.44, 0.89])
>>> numpy.random.rand(4)
array([ 0.96, 0.38, 0.79, 0.53])
(伪)随机数的工作原理是从一个数字(种子)开始,将它乘以一个大数,加上一个偏移量,然后对该总和取模。然后将生成的数字用作生成下一个“随机”数字的种子。当你设置种子时(每次),它每次都会做同样的事情,给你相同的数字。
如果您想要看似随机的数字,请不要设置种子。但是,如果您有使用要调试的随机数的代码,那么在每次运行之前设置种子会非常有帮助,这样代码在每次运行时都执行相同的操作。
要为每次运行获得最多的随机数,请调用numpy.random.seed()
。 这将导致 numpy 将种子设置为从/dev/urandom
或其 Windows 模拟获得的随机数,或者,如果这些都不可用,它将使用时钟。
有关使用种子生成伪随机数的更多信息,请参阅维基百科。
原文:https://stackoverflow.com/questions/21494489/what-does-numpy-random-seed0-do
分类:
NumPy
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具