Gym 简明教程【2. v0.26版本对比v0.21版本的改变】

Gym 简明教程【2. v0.26版本对比v0.21版本的改变】

本文记录gymv0.26版本相比于gymv0.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 info
    observation, 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 info
    observation, reward, terminated, truncated, info = env.step(action)

    done = terminated or truncated

env.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

猜你喜欢

转载自blog.csdn.net/qq_44940689/article/details/132175003
今日推荐