Farama-Foundation/Gymnasium

A standard API for single-agent reinforcement learning environments, with popular reference environments and related utilities (formerly Gym)

什么是 Gymnasium?

Gymnasium 是一个 Python 库,为强化学习(RL)研究提供 标准 API。它允许你针对各种模拟环境创建、运行和比较 RL 智能体——从简单的经典控制任务到复杂的基于物理或 Atari 游戏。它是 OpenAI 原始 Gym 库的社区维护分支,也是未来更新发布的地方。

为什么重要

  • 统一接口 – 所有环境都公开相同的 reset、step、action_space 和 observation_space 方法,因此相同的学习代码可以跨多个任务使用。
  • 可复现性 – 环境是版本化的(例如,CartPole-v1),每当更改可能影响学习结果时,版本号就会增加。
  • 广泛的生态系统 – 包括经典控制、Box2D、玩具文本、MuJoCo、Atari,以及许多已经遵循 Gymnasium API 的第三方环境。
  • 社区支持 – 文档网站、Discord 聊天和清晰的贡献指南使新手容易获得帮助,开发者也可以轻松添加新环境。

如何开始(来自 README 的代码片段)

import gymnasium as 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()

创建环境、重置它、采取行动并处理情节终止——只需几行代码。

安装

pip install gymnasium                # 仅核心库
pip install "gymnasium[atari]"       # 添加 Atari 依赖
pip install "gymnasium[all]"         # 安装所有可选依赖

(可选包很大,有时难以构建,因此你可以只安装所需的部分。)

你可能也会使用的相关项目

项目 添加内容
CleanRL 使用 Gymnasium API 的简单参考 RL 算法实现。
PettingZoo Gymnasium 的多智能体扩展,带有自己的环境集。
Farama Foundation 环境 遵循相同 API 的其他精选环境。

参与贡献

阅读 CONTRIBUTING.md 获取指南。 如果可能,请通过 GitHub Sponsors 链接支持该项目。


摘要 – Gymnasium 是任何构建或测试强化学习智能体的人的首选库,为大量模拟任务提供干净、版本化的接口。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目