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 Sponsors 링크를 통해 프로젝트를 재정적으로 지원해 주세요.


요약 – Gymnasium은 강화 학습 에이전트를 구축하거나 테스트하는 모든 사람에게 필수적인 라이브러리로, 방대한 시뮬레이션 작업 모음에 깔끔하고 버전 관리된 인터페이스를 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트