Repolode
sail-sg

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. 1

    Установите EnvPool из PyPI

    pip install envpool
  2. 2

    Откройте консоль Python и импортируйте envpool, чтобы убедиться, что установка прошла успешно

Что важно знать

  • Для рендеринга MuJoCo в Linux требуется системная среда выполнения EGL/OpenGL, например libegl1, libopengl0 и libgl1-mesa-dri в Ubuntu.
  • В Linux для окружений Procgen необходимо отдельно установить системную среду выполнения Qt 5. Qt 5 также требуется для сборки из исходного кода.

В подборках

Темы

#reinforcement-learning#parallel-processing#gym#simulation#cpp#python-bindings#vectorized-environment#atari-games#box2d#cpp17

Частые вопросы

Что такое 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 обновляется ежедневно.

Похожие проекты

Физическая библиотека на C++17 с привязками Python для расчёта кинематики, динамики и контактов у сочленённых роботов и анимированных персонажей.

1,2 тыс.307C++BSD-2-ClauseОбновлён 20 часов назад

Симулятор с открытым исходным кодом на Unreal Engine для дронов, автомобилей и других автономных транспортных средств, с API для исследований в области ИИ и компьютерного зрения.

18,6 тыс.+20 за неделю4,9 тыс.C++OtherОбновлён 2 месяца назад

Симулятор с открытым исходным кодом для исследований автономного вождения: городские среды, цифровые ресурсы и моделирование сенсоров на базе Unreal Engine.

14,6 тыс.+18 за неделю4,7 тыс.C++MITОбновлён 19 часов назад