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

2024年 2月 22日 59.7k 0

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

问题内容

我正在使用具有以下 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 库,恰好位于同一命名空间中。即使使用相同的种子,输出也不会匹配。

以上就是为什么使用相同的种子会得到不同的随机数?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论