関節ロボットやアニメーションキャラクターの運動学・動力学・接触シミュレーションに対応した、Pythonバインディング付きのC++17物理ライブラリ。
sail-sg/envpool
スレッドプールで多数のGym形式環境を並列実行する、強化学習向けのC++バッチ環境プール。
- スター
- 1,533
- フォーク
- 147
- 未解決の Issue
- 16
- 最終コミット
- 16 日前
これは何?
EnvPoolは、強化学習環境向けの並列実行エンジンです。C++のスレッドプールで環境群を管理し、pybind11を通じてPythonに公開するため、1回の呼び出しで多数の環境をまとめてstepできます。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で公開されています。
リポジトリ内のベンチマークでは、CPUコア数が12〜256のマシンで、Pythonのsubprocessベースのベクトル環境やforループとスループットを比較しています。
主な機能
- 01C++スレッドプールとpybind11バインディングによる、環境のバッチstep。
- 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 をインポートしてインストールが正常に完了したことを確認します
使う前に知っておきたいこと
- Linux で MuJoCo のレンダリングを行うには、システムの EGL/OpenGL ランタイムが必要です。Ubuntu では、libegl1、libopengl0、libgl1-mesa-dri などが該当します。
- Linux で Procgen 環境を使用するには、別途システムの Qt 5 ランタイムをインストールする必要があります。ソースからビルドする場合も Qt 5 が必要です。
収録されている特集
トピック
よくある質問
- envpool とは?
- スレッドプールで多数のGym形式環境を並列実行する、強化学習向けのC++バッチ環境プール。 EnvPoolは、強化学習環境向けの並列実行エンジンです。C++のスレッドプールで環境群を管理し、pybind11を通じてPythonに公開するため、1回の呼び出しで多数の環境をまとめてstepできます。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 をインポートしてインストールが正常に完了したことを確認します
- envpool はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/sail-sg/envpool
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
単一エージェントの強化学習環境向け標準Python APIと、OpenAI Gymからフォークした参照環境群。
ROS向けの高性能な2Dロボットシミュレーター。軽量な平面環境でロボットモデルを動かせます。
PyTorchで強化学習アルゴリズムを実装したライブラリ。研究や実用で信頼でき、一貫性のあるベースラインを提供します。
Unreal Engine上に構築された、ドローンや自動運転車などの自律型車両向けオープンソースシミュレーター。AIやコンピュータービジョン研究用のAPIを備えています。
Unreal Engineを基盤とする自動運転研究向けのオープンソースシミュレーター。市街地環境、デジタルアセット、センサーシミュレーションを提供します。