基本用法
Gymnasium是一个为所有单智能体强化学习环境提供API(应用程序编程接口)的项目,具有常见环境的实现:cartpole、pendulum、mountain-car、mujoco、atari等。
本页将概述使用Gymnasium的基本知识,包括它的四个主要功能: make(), Env.reset(), Env.step() 和Env.render()。
环境初始化
在gym中初始化环境非常容易,可以通过make() 完成:
import gymnasium as gym env = gym.make('CartPole-v1')
这个函数将返回一个Env供用户交互。要查看可以创建的所有环境,请使用pprint_registry()。
此外,make() 还提供了许多额外的参数,用于向环境指定关键字、添加或多或少的wrappers(包装器)等。
与环境交互
在强化学习中,下图中的经典“agent-environment loop”(“代理-环境循环”)是代理和环境如何相互作用的简化表示。代理接收到关于环境的观察,然后代理选择一个行动,环境用它来决定奖励和下一次观察。然后循环往复,直到环境结束。
以下代码展示的是一个单循环的“agent-environment loop”,运行此代码需要额外:
pip install swig
pip install gymnasium[box2d]
代码(同上一篇笔记01):
import gymnasium as gym env = gym.make("LunarLander-v3", render_mode="human") observation, info = env.reset() episode_over = False while not episode_over: action = env.action_space.sample() # agent policy that uses the observation and info:agent策略使用observation观察和info信息 observation, reward, terminated, truncated, info = env.step(action) episode_over = terminated or truncated env.close()
输出&#x