【发布时间】:2021-03-26 14:11:08
【问题描述】:
为了描述我的意思,请考虑以下虚拟示例:
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 是什么。 (这在本例中当然行不通。
有没有这样的功能,有两个独立的随机生成对象?
【问题讨论】:
-
是的,使用 np.random.RandomState stackoverflow.com/a/22995942/2285236 该示例使用 42 作为两个示例的种子,但您当然可以将其中一个设置为 1,另一个设置为 2。
-
请注意,numpy.random.RandomState 是 NumPy 1.17 的遗留类。该版本引入了新的随机生成器系统以及 numpy.random.Generator。请参阅NumPy RNG policy。
-
最新的随机数包让您可以创建多个独立的随机数生成器。
标签: python numpy random random-seed seed