Об этом проекте
Reinfors — это фреймворк для обучения с подкреплением, в котором симуляция игр, деревья поиска, оркестрация эпизодов и сбор пакетов выполняются в параллельном бэкенде на Rust. Граница между движком на Rust и пользователем представляет собой callback inferенции: он принимает NumPy-наблюдения из пула и возвращает выходы модели, оставляя архитектуру сети, фреймворк обучения, оптимизатор, буфер воспроизведения, размещение по оборудованию и распределённую топологию полностью под контролем вызывающего.
Библиотека включает обширный каталог игр, охватывающий однопользовательские и мультиагентные, нуль-суммовые, кооперативные и обобщённые задачи, с поддержкой пошаговых или одновременных решений, явных случайных событий, а также игр с совершенной и несовершенной информацией. Алгоритмы охватывают обучение ценностями на основе политики, обучение с управлением поиском и самостоятельные методы игрового решения.
Установка выполняется через pip: `pip install reinfors`. Доступны необязательные расширения для адаптеров Gymnasium/PettingZoo (`reinfors[gym]`) и примеров обучения на PyTorch (`reinfors[train]`). Простой пример создаёт движок Connect4 и собирает обучающие батчи путём предоставления функции inferенции.
Бенчмарки демонстрируют значительный прирост производительности по сравнению с чистыми Python-библиотеками RL, такими как Gymnasium: reported speedups составляют примерно 14-20x на однопроцессорном пошаговом выполнении среды. Reinfors также стремится к практичному балансу между производительностью нативной симуляции и модульностью для широкого экспериментирования над играми, алгоритмами, сетями и конфигурациями развёртывания.
Проект находится в состоянии pre-1.0, что означает изменение API, поведения и сериализованных форматов между релизами 0.x без предупреждений о депрекейшене. Пользователям рекомендуется фиксировать точные версии и изучать release notes при обновлении. Двойная лицензия: MIT и Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.