Gym 简明教程【2. v0.26版本对比v0.21版本的改变】
文章目录
- Gym 简明教程【2. v0.26版本对比v0.21版本的改变】
- 1. Example code for v21
- 2. Example code for v26
- 3. Seed and random number generator
- 4. Reference
本文记录gym
v0.26版本相比于gym
v0.21版本的一些改变,(搬运自v21 to v26 Migration Guide),gym
的基本使用可以参考Gym 简明教程【1. Basic Usage v0.26.2版本】
gym的全称是Gymnasium, 是 OpenAI Gym v26 的一个分支,它与 Gym v21 相比引入了重大的重大更改。 在本指南中,我们简要概述了从 Gym v21(已为此编写了许多教程)到 Gym v26 的 API 更改。
1. Example code for v21
import gym
env = gym.make("LunarLander-v2", options={})
env.seed(123) # seed指定了随机数种子
observation = env.reset() # 注意env.reset()只返回observation,无附加信息done = False
while not done:action = env.action_space.sample() # agent policy that uses the observation and infoobservation, reward, done, info = env.step(action)env.render(mode="human")env.close()
2. Example code for v26
import gym
env = gym.make("LunarLander-v2", render_mode="human")
observation, info = env.reset(seed=123, options={}) # env.reset()返回值是由observation和info组成的元组tuple,seed指定了随机数种子done = False
while not done:action = env.action_space.sample() # agent policy that uses the observation and infoobservation, reward, terminated, truncated, info = env.step(action)done = terminated or truncatedenv.close()
3. Seed and random number generator
gymv21
中的Env.seed()
被移除了,取而代之的是gymv26
中的Env.reset(seed=seed)
,这使得播种只能在环境重置时更改。 删除种子的决定是因为某些环境使用的模拟器无法在剧集内更改随机数生成器,并且必须在新剧集开始时完成。
以上就是简要的介绍,更多详细内容请参考v21 to v26 Migration Guide
4. Reference
v21 to v26 Migration Guide