Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python多重随机种子_Python_Numpy_Random - Fatal编程技术网

Python多重随机种子

Python多重随机种子,python,numpy,random,Python,Numpy,Random,有没有办法在python代码中为numpy随机数生成器使用两个不同的种子,一个用于部分代码,另一个用于其余代码?您可以使用多个不同的种子并在这些种子上调用方法: import numpy as np rng1 = np.random.RandomState(100) rng2 = np.random.RandomState(100) print(rng1.randint(0, 100, 1)) # [8] print(rng2.randint(0, 100, 1)) # [8] 我对两

有没有办法在python代码中为numpy随机数生成器使用两个不同的种子,一个用于部分代码,另一个用于其余代码?

您可以使用多个不同的种子并在这些种子上调用方法:

import numpy as np

rng1 = np.random.RandomState(100)
rng2 = np.random.RandomState(100)

print(rng1.randint(0, 100, 1))  # [8]
print(rng2.randint(0, 100, 1))  # [8]

我对两者使用了相同的种子(
100
),因为它表明两者给出了相同的结果。

a=np.random.mtrand.RandomState(1).randint(0,10,size=(5,2))。。。b=np.random.mtrand.RandomState(2).randint(0,10,size=(5,2))。。。试试看如果随机状态改变,我前面的评论会产生不同但可重复的结果,这可能会很有趣。此外,numpy中的帮助主题中也介绍了可以访问的发行版。@NaN不确定我是否可以遵循。您是指调用
randint
后的不同种子或状态,还是手动更改状态的种子?是的,您使用了相同的种子,我的示例使用了不同的种子,都会产生可复制的结果,在您的案例8中,在我的案例中,a和b都有不同的值,但它们的值不会改变。另外,randint只是一种分布类型,其他分布类型很有用(正常、统一等),我认为如果有人需要其他信息,他们可以点击链接或阅读
RandomState
的文档。我本可以包含不同的种子,但我想指出的是,这些
RandomState
s具有相互独立的状态。