관절형 로봇과 애니메이션 캐릭터의 운동학, 동역학, 접촉 시뮬레이션을 위한 Python 바인딩을 제공하는 C++17 물리 라이브러리입니다.
sail-sg/envpool
스레드 풀로 Gym 스타일 환경을 다수 병렬 실행하는 강화 학습용 C++ 배치 환경 풀입니다.
- 스타
- 1,533
- 포크
- 147
- 열린 이슈
- 16
- 마지막 커밋
- 16일 전
어떤 프로젝트인가요?
EnvPool은 강화 학습 환경을 병렬 실행하는 엔진입니다. C++ 스레드 풀로 환경 풀을 관리하고 pybind11을 통해 Python에 제공하므로, 한 번의 호출로 여러 환경을 동시에 스텝할 수 있습니다. Gymnasium과 dm_env 스타일 API를 동기 및 비동기 모드로 지원하며, 기본적으로 배치 단위로 상호작용합니다.
Atari, MuJoCo, DeepMind Control Suite, Box2D, ViZDoom, Procgen, Minigrid, MPE2, MetaWorld, PGX, Jumanji 등 다양한 환경 계열을 지원합니다. C++ 개발자 인터페이스를 통해 환경을 추가할 수도 있습니다. 배치 RGB 배열 렌더링과 JAX jit을 통한 XLA 지원도 제공합니다. Linux, macOS, Windows용 사전 빌드 wheel은 PyPI에 게시되어 있습니다.
저장소의 벤치마크는 12~256개의 CPU 코어를 갖춘 시스템에서 처리량을 Python subprocess 기반 벡터 환경 및 for 루프와 비교합니다.
핵심 기능
- 01pybind11 바인딩을 통해 C++ 스레드 풀에서 환경을 배치 단위로 스텝합니다.
- 02Gymnasium 및 dm_env API와 호환됩니다.
- 03싱글 플레이어 및 멀티 플레이어 환경을 포함해 동기 및 비동기 실행을 지원합니다.
- 04Atari, MuJoCo, DeepMind Control, Procgen 등 다양한 환경 계열을 지원합니다.
- 05배치 rgb_array 렌더링과 JAX jit을 통한 XLA를 지원합니다.
활용 사례
- 멀티코어 시스템에서 강화 학습 학습용 데이터 수집 속도를 높입니다.
- Stable-Baselines3, Tianshou, CleanRL 등의 라이브러리로 Atari 또는 MuJoCo 실험을 실행합니다.
- 처리량이 높은 C++ 구현으로 사용자 지정 환경을 추가합니다.
빠른 시작
- 1
PyPI에서 EnvPool을 설치합니다
pip install envpool - 2
Python 콘솔을 열고 envpool을 import하여 설치가 정상적으로 완료되었는지 확인합니다
사용 전 알아둘 점
- Linux에서 MuJoCo를 렌더링하려면 시스템 EGL/OpenGL 런타임이 필요합니다. Ubuntu에서는 libegl1, libopengl0, libgl1-mesa-dri 등이 이에 해당합니다.
- Linux에서 Procgen 환경을 사용하려면 시스템 Qt 5 런타임을 별도로 설치해야 하며, 소스에서 빌드하는 경우에도 Qt 5가 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- envpool은(는) 무엇인가요?
- 스레드 풀로 Gym 스타일 환경을 다수 병렬 실행하는 강화 학습용 C++ 배치 환경 풀입니다. EnvPool은 강화 학습 환경을 병렬 실행하는 엔진입니다. C++ 스레드 풀로 환경 풀을 관리하고 pybind11을 통해 Python에 제공하므로, 한 번의 호출로 여러 환경을 동시에 스텝할 수 있습니다. Gymnasium과 dm_env 스타일 API를 동기 및 비동기 모드로 지원하며, 기본적으로 배치 단위로 상호작용합니다.
- envpool은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- envpool은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- envpool은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. envpool의 마지막 커밋은 2026년 10월 21일입니다.
- envpool은(는) 어디에 사용할 수 있나요?
- 멀티코어 시스템에서 강화 학습 학습용 데이터 수집 속도를 높입니다. Stable-Baselines3, Tianshou, CleanRL 등의 라이브러리로 Atari 또는 MuJoCo 실험을 실행합니다. 처리량이 높은 C++ 구현으로 사용자 지정 환경을 추가합니다.
- envpool는 어떻게 설치하나요?
- PyPI에서 EnvPool을 설치합니다: pip install envpool Python 콘솔을 열고 envpool을 import하여 설치가 정상적으로 완료되었는지 확인합니다
- envpool은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/sail-sg/envpool
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
단일 에이전트 강화 학습 환경을 위한 표준 Python API와 참조 환경 모음으로, OpenAI Gym에서 포크되었습니다.
평면 환경에서 로봇 모델을 실행하는 ROS용 성능 중심 2D 로봇 시뮬레이터입니다.
연구와 실제 응용에 신뢰할 수 있고 일관된 기준선을 제공하도록 설계된 강화 학습 알고리즘의 PyTorch 구현체입니다.
AI 및 컴퓨터 비전 연구용 API를 제공하는, 드론·자동차·기타 자율주행 차량을 위한 Unreal Engine 기반 오픈소스 시뮬레이터입니다.
Unreal Engine 기반의 오픈소스 자율주행 연구 시뮬레이터로, 도심 환경과 디지털 에셋, 센서 시뮬레이션을 제공합니다.