Физическая библиотека на C++17 с привязками Python для расчёта кинематики, динамики и контактов у сочленённых роботов и анимированных персонажей.
sail-sg/envpool
Пул сред на C++ для обучения с подкреплением: параллельно запускает множество Gym-подобных сред, используя пул потоков.
- Звёзды
- 1,533
- Форки
- 147
- Открытые issues
- 16
- Последний коммит
- 16 дней назад
Что это?
EnvPool — движок параллельного выполнения сред для обучения с подкреплением. Он управляет пулом сред на C++ с помощью пула потоков и предоставляет их Python через pybind11, позволяя за один вызов выполнить шаг сразу в нескольких средах. Поддерживаются API в стиле Gymnasium и dm_env, синхронный и асинхронный режимы, а взаимодействие по умолчанию происходит пакетами.
Проект поддерживает множество семейств сред, включая Atari, MuJoCo, DeepMind Control Suite, Box2D, ViZDoom, Procgen, Minigrid, MPE2, MetaWorld, PGX и Jumanji. Новые среды также можно добавлять через интерфейс разработчика на C++. Доступны рендеринг в пакет массивов RGB и поддержка XLA с JAX jit. Готовые wheel-пакеты публикуются на PyPI для Linux, macOS и Windows.
Бенчмарки в репозитории сравнивают пропускную способность с векторными средами на основе Python subprocess и циклами for на машинах с числом ядер CPU от 12 до 256.
Ключевые возможности
- 01Пакетное выполнение шагов в средах через пул потоков на C++ с привязками pybind11.
- 02Совместимость с API Gymnasium и dm_env.
- 03Поддержка синхронного и асинхронного выполнения, в том числе для сред с одним и несколькими игроками.
- 04Поддержка множества семейств сред, например Atari, MuJoCo, DeepMind Control и Procgen.
- 05Пакетный рендеринг в формате rgb_array и поддержка XLA с JAX jit.
Сценарии использования
- Ускорение сбора данных для обучения с подкреплением на многоядерных машинах.
- Запуск экспериментов с Atari или MuJoCo с библиотеками вроде Stable-Baselines3, Tianshou или CleanRL.
- Добавление собственной среды с высокопроизводительной реализацией на C++.
Быстрый старт
- 1
Установите EnvPool из PyPI
pip install envpool - 2
Откройте консоль Python и импортируйте envpool, чтобы убедиться, что установка прошла успешно
Что важно знать
- Для рендеринга MuJoCo в Linux требуется системная среда выполнения EGL/OpenGL, например libegl1, libopengl0 и libgl1-mesa-dri в Ubuntu.
- В Linux для окружений Procgen необходимо отдельно установить системную среду выполнения Qt 5. Qt 5 также требуется для сборки из исходного кода.
В подборках
Темы
Частые вопросы
- Что такое envpool?
- Пул сред на C++ для обучения с подкреплением: параллельно запускает множество Gym-подобных сред, используя пул потоков. EnvPool — движок параллельного выполнения сред для обучения с подкреплением. Он управляет пулом сред на C++ с помощью пула потоков и предоставляет их Python через pybind11, позволяя за один вызов выполнить шаг сразу в нескольких средах. Поддерживаются API в стиле Gymnasium и dm_env, синхронный и асинхронный режимы, а взаимодействие по умолчанию происходит пакетами.
- envpool можно использовать бесплатно? Какая у него лицензия?
- envpool распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- envpool всё ещё поддерживается?
- Активно поддерживается. Последний коммит в envpool — 21 окт. 2026 г..
- Для чего можно использовать envpool?
- Ускорение сбора данных для обучения с подкреплением на многоядерных машинах. Запуск экспериментов с Atari или MuJoCo с библиотеками вроде Stable-Baselines3, Tianshou или CleanRL. Добавление собственной среды с высокопроизводительной реализацией на C++.
- Как установить envpool?
- Установите EnvPool из PyPI: pip install envpool Откройте консоль Python и импортируйте envpool, чтобы убедиться, что установка прошла успешно
- Где скачать envpool?
- Исходный код и инструкции по установке — на GitHub: https://github.com/sail-sg/envpool
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Стандартный Python API для одноагентных сред обучения с подкреплением и набор эталонных сред, форк OpenAI Gym.
Производительный 2D-симулятор роботов для ROS, моделирующий роботов в лёгких плоских средах.
Реализации алгоритмов обучения с подкреплением на PyTorch — надёжная и единообразная отправная точка для исследований и практических задач.
Симулятор с открытым исходным кодом на Unreal Engine для дронов, автомобилей и других автономных транспортных средств, с API для исследований в области ИИ и компьютерного зрения.
Симулятор с открытым исходным кодом для исследований автономного вождения: городские среды, цифровые ресурсы и моделирование сенсоров на базе Unreal Engine.