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 以獲得最新的功能和持續的支持。