首页 > 后端开发 > Python教程 > 为什么使用相同的种子会得到不同的随机数?

为什么使用相同的种子会得到不同的随机数?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2024-02-22 12:49:11
转载
787 人浏览过

为什么使用相同的种子会得到不同的随机数?

问题内容

我正在使用具有以下 mwe 的 numpy 随机数生成器:

import numpy as np
np.random.seed(40)
print(np.random.randint(-3, 4))
rng = np.random.default_rng(seed=40)
print(rng.integers(-3, 4))
登录后复制

输出:

3
0
登录后复制

为什么输出不同?


正确答案


numpy.random.randintnumpy.random.seed 使用旧的随机 API,其底层实现完全不同。 numpy.random.default_rng 创建一个 Generator 对象,这是新的 API。

这两个 API 实际上是两个完全独立的 RNG 库,恰好位于同一命名空间中。即使使用相同的种子,输出也不会匹配。

以上是为什么使用相同的种子会得到不同的随机数?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板