Об этом проекте
Godot RL Agents — полностью открытый пакет, который соединяет Godot Engine и алгоритмы машинного обучения на Python, позволяя разработчикам игр, ИИ-исследователям и энтузиастам обучать сложному поведению неигровых персонажей (NPC) или агентов.
Репозиторий предоставляет:
- Интерфейс между играми, созданными в Godot Engine, и алгоритмами машинного обучения, работающими в Python.
- Обёртки для четырёх известных RL-фреймворков: StableBaselines3, Sample Factory, Ray RLLib и CleanRL.
- Поддержку агентов с памятью с использованием LSTM или интерфейсов на основе внимания.
- Поддержку как 2D-, так и 3D-игр.
- Набор ИИ-датчиков для расширения возможностей агента по наблюдению за игровым миром.
- Godot и Godot RL Agents полностью бесплатны и открыты под разрешительной лицензией MIT.
Проект подробно описан в статье семинара AAAI-2022 (arXiv:2112.03636).
## Краткое руководство
Краткое руководство помогает пользователям начать работу с серверной частью StableBaselines3, которая поддерживает Windows, Mac и Linux. Также доступно видеообучение.
### Установка и первое обучение
1. Установите библиотеку: `pip install godot-rl`
2. Скачайте примеры сред из хаба, например: `gdrl.env_from_hub -r edbeeching/godot_rl_JumperHard`
3. При необходимости добавьте разрешения на запуск исполняемому файлу игры.
4. Обучите и визуализируйте с помощью примера скрипта Stable Baselines 3:
python examples/stable_baselines3_example.py --env_path=examples/godot_rl_JumperHard/bin/JumperHard.x86_64 --experiment_name=Experiment_01 --viz
### Интерактивное обучение в редакторе
Пользователи также могут обучать агентов прямо в редакторе Godot без экспорта исполняемого файла игры. Шаги включают скачивание версии Godot 4 .NET, импорт примера проекта и запуск обучающего скрипта.
### Руководства
- Руководство по собственной среде
- Руководство по простой среде с использованием новых датчиков
- Руководство по мини-игре Cross the road
- Руководство по имитационному обучению
### Экспорт и загрузка обученных агентов в формате ONNX
Последняя версия предоставляет экспериментальную поддержку моделей ONNX для Stable Baselines 3, RLLib и CleanRL. Пользователи могут экспортировать обученную модель и загрузить её в редакторе Godot, используя mono-версию и плагин.
## Расширенное использование
Godot RL Agents поддерживает четыре различных фреймворка RL-обучения, для каждого из которых есть подробные руководства:
- StableBaselines3 (Windows, Mac, Linux)
- SampleFactory (Mac, Linux)
- CleanRL (Windows, Mac, Linux)
- Ray RLLib (Windows, Mac, Linux)
## Участие в разработке
Вклад приветствуется, включая новые среды, улучшения readme и дополнения к кодовой базе на Python. Процесс включает создание форка репозитория, клонирование, создание виртуальной среды и редактируемую установку. Тесты можно запустить командой `make test`, а форматирование кода — командами `make style` и `make quality`.
## FAQ
- **Зачем разработан Godot RL Agents?** Чтобы предоставить бесплатный и открытый инструмент для исследований Deep RL и разработки игр, обеспечить уникальное поведение NPC и автоматическое тестирование игрового процесса.
- **Как внести вклад?** Попробуйте инструмент, находите ошибки, создавайте issues или отправляйте pull requests.
- **Поддержка Mac?** Теперь должна работать.
- **Сходство с Unity ML Agents?** Проект вдохновлён Unity ML Agents, но стремится быть более компактным, кратким и удобным для доработки, с меньшим уровнем абстракции.
- **Периодические зависания во время обучения?** Это нормально для стандартного скрипта SB3 во время обновления модели; экспорт в ONNX обеспечивает более быстрый инференс.
## Лицензия
Godot RL Agents распространяется под лицензией MIT. Ресурс «Cartoon Plane» доступен по лицензии Creative Commons Attribution.
## Цитирование
Для цитирования статьи предоставлена запись BibTeX.
## Благодарности
Благодарим авторов Godot Engine, разработчиков Sample Factory, CleanRL, Ray и Stable Baselines, а также создателей Unity ML Agents Toolkit за вдохновение.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.