OpenAI Gym是一个开源的Python库,专门用于开发和比较强化学习算法。它通过提供标准化的API来连接学习算法和环境,并提供了一套符合该API标准的环境集合。自发布以来,Gym的API已经成为强化学习领域的标准。
项目维护状态变更:自2021年以来一直维护Gym的团队已将所有未来开发工作转移到 Gymnasium,这是Gym的直接替代品(可以使用 import gymnasium as gym
)。Gym将不再接收任何未来更新,建议用户尽快切换到Gymnasium。
pip install gym
# 安装Atari环境依赖
pip install gym[atari]
# 安装所有环境依赖
pip install gym[all]
# 安装MuJoCo环境依赖(最新版本)
pip install gym[mujoco]
# 安装MuJoCo环境依赖(旧版本)
pip install gym[mujoco_py]
import gym
# 创建环境
env = gym.make("CartPole-v1")
# 重置环境
observation, info = env.reset(seed=42)
# 环境交互循环
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()
CleanRL - 基于Gym API的学习库
Tianshou - 面向经验丰富用户的学习库
RLlib - 支持分布式训练的学习库
PettingZoo - 多智能体环境库
Gym采用严格的版本控制以确保可重现性:
mujoco-py
mujoco
作为必需依赖项目白皮书可在arXiv获取,引用格式:
@misc{1606.01540,
Author = {Greg Brockman and Vicki Cheung and Ludwig Pettersson and Jonas Schneider and John Schulman and Jie Tang and Wojciech Zaremba},
Title = {OpenAI Gym},
Year = {2016},
Eprint = {arXiv:1606.01540},
}
OpenAI Gym作为强化学习领域的开创性工具,建立了行业标准并培育了庞大的生态系统。虽然原项目不再积极维护,但其继任者Gymnasium继承了所有核心功能,确保了社区的持续发展。对于新项目,强烈建议直接使用Gymnasium以获得最新的功能和持续的支持。