Farama-Foundation/Gymnasium
A standard API for single-agent reinforcement learning environments, with popular reference environments and related utilities (formerly Gym)
Gymnasiumとは?
Gymnasiumは、強化学習(RL)研究のための標準APIを提供するPythonライブラリです。シンプルなクラシックコントロールタスクから複雑な物理ベースのゲームやAtariゲームまで、幅広いシミュレーション環境のコレクションに対して、RLエージェントを作成、実行、比較することができます。これは、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スポンサーリンクからプロジェクトを財政的に支援してください。
まとめ – Gymnasiumは、強化学習エージェントを構築またはテストする人にとって頼りになるライブラリであり、膨大なシミュレーションタスク群へのクリーンでバージョン管理されたインターフェースを提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト