如何同时生成多个具有不同种子的numpy随机生成对象

2024-09-28 20:54:28 发布

您现在位置:Python中文网/ 问答频道 /正文

描述我的意思,考虑下面的虚拟例子:

import numpy as np1
import numpy as np2

seed1 = 1
seed2 = 2

np1.random.seed(seed1)
np2.random.seed(seed2)

其中np1.random.normal(0, 2, 1)完全返回一个值,而不管seed2是什么。(在本例中,这当然不起作用

在有两个独立的随机生成对象的情况下,是否有这样的功能


Tags: 对象import功能numpyas情况random例子
1条回答
网友
1楼 · 发布于 2024-09-28 20:54:28

使用最新版本,您可以创建多个随机生成器。见文件

为了举例说明,使用相同的种子制作2:

In [5]: r1 =np.random.default_rng(1)
In [6]: r2 =np.random.default_rng(1)

它们将生成相同的随机整数,而不会相互影响:

In [8]: r1.integers(0,10,5)
Out[8]: array([4, 5, 7, 9, 0])
In [9]: r2.integers(0,10,5)
Out[9]: array([4, 5, 7, 9, 0])

或多个r1序列:

In [10]: r1.integers(0,10,5)
Out[10]: array([1, 8, 9, 2, 3])
In [11]: r1.integers(0,10,5)
Out[11]: array([8, 4, 2, 8, 2])
In [12]: r1.integers(0,10,5)
Out[12]: array([4, 6, 5, 0, 0])

与Out相同[10]

In [13]: r2.integers(0,10,5)
Out[13]: array([1, 8, 9, 2, 3])

相关问题 更多 >