欢迎访问宙启技术站
智能推送

利用gym.utils.seeding中的np_random()函数生成20个随机数的方法

发布时间:2023-12-26 03:39:19

gym是一个开源的强化学习库,提供了用于设计和比较强化学习算法的环境。其中的gym.utils.seeding模块提供了用于生成随机数的函数np_random()。

np_random()函数是基于numpy的随机数生成器,可以生成符合各种分布的随机数。下面是使用np_random()函数生成20个随机数的方法以及使用例子。

1. 导入必要的库:

import gym
from gym.utils import seeding

2. 创建随机数生成器:

seed = seeding.np_random()

3. 生成随机数的方法:

* 生成0到1之间的随机数:

random_float = seed.random()

* 生成指定范围内的随机整数:

random_int = seed.randint(low, high)

其中,low和high分别表示生成随机整数的范围的下界和上界。

* 生成符合均匀分布的随机数:

random_uniform = seed.uniform(low, high)

其中,low和high分别表示生成随机数的范围的下界和上界。

* 生成符合正态分布的随机数:

random_normal = seed.normal(mean, std)

其中,mean和std分别表示正态分布的均值和标准差。

* 生成符合泊松分布的随机数:

random_poisson = seed.poisson(lam)

其中,lam表示泊松分布的参数。

* 生成符合二项分布的随机数:

random_binomial = seed.binomial(n, p)

其中,n表示试验的次数,p表示每次试验成功的概率。

4. 使用例子:

下面展示一个使用np_random()函数生成20个0到1之间的随机数的例子。

import gym
from gym.utils import seeding

seed = seeding.np_random()

random_numbers = []
for _ in range(20):
    random_numbers.append(seed.random())
    
print(random_numbers)

运行结果类似于:

[0.73227199, 0.14704881, 0.85241445, 0.17797319, 0.15746411, 0.91593826, 0.53919852, 0.71818365, 0.91860681, 0.68054395, 0.41467456, 0.24203449, 0.34211984, 0.46416577, 0.53625424, 0.3589765, 0.4797735, 0.41280607, 0.17739704, 0.50409177]

可以看到,通过使用np_random()函数,我们成功生成了20个0到1之间的随机数。