什么是 OpenAI Gym?
OpenAI Gym 是由 OpenAI 开发的一个开源 Python 库,旨在为强化学习(Reinforcement Learning, RL)研究提供统一的测试环境。 它包含大量预构建的环境(如 CartPole、MountainCar、Atari 游戏等),便于研究人员快速开发、训练和评估 RL 算法。
Gym 的设计目标是简单、模块化且可扩展,支持从经典控制问题到复杂视觉任务的多种场景。
核心组件
- Environment(环境):定义了智能体(Agent)交互的世界,例如“CartPole-v1”。
- Observation(观测):环境在每一步返回给智能体的状态信息。
- Action(动作):智能体可执行的操作集合。
- Reward(奖励):每一步环境反馈的数值信号,用于指导学习。
- Episode(回合):从初始状态到终止状态的一次完整交互过程。
快速开始
安装 OpenAI Gym(需 Python 3.7+):
pip install gymnasium
注意:自 2023 年起,官方推荐使用 gymnasium(Gym 的社区维护版本)替代原 gym。
一个简单的 CartPole 示例:
import gymnasium as gym
env = gym.make("CartPole-v1", render_mode="human")
observation, info = env.reset()
for _ in range(1000):
action = env.action_space.sample() # 随机选择动作
observation, reward, terminated, truncated, info = env.step(action)
if terminated or truncated:
observation, info = env.reset()
env.close()
常用环境示例
CartPole-v1
MountainCar-v0
Pendulum-v1
Acrobot-v1
LunarLander-v2
FrozenLake-v1
每个环境都有明确的观测空间、动作空间和奖励机制,适合不同难度的 RL 算法测试。