Среда обучения, написанная на C++ и Lua для создания сетчатых миров.
DeepMind Lab2D — система для создания 2D-сред для машинного обучения. Основными целями системы являются простота использования и производительность: среда представляет собой «сеточные миры», которые определяются с помощью комбинации простых текстовых карт для макета мира и кода Lua для его поведения. Агенты машинного обучения взаимодействуют с этими средами через один из двух API: Python dm_env
API или собственный C API (который также используется DeepMind Lab). Поддерживается несколько агентов.
Если вы используете DeepMind Lab2D в своих исследованиях и хотели бы процитировать его, мы предлагаем вам процитировать прилагаемый технический документ.
DeepMind Lab2d доступен на PyPI и может быть установлен с помощью:
pip install dmlab2d
dmlab2d
распространяется в виде готовых дисков для Linux и macOS. Если для вашей платформы нет подходящего колеса, вам придется собрать его из исходного кода. См install.sh
где приведен пример сценария установки, который можно адаптировать к вашей настройке.
Мы предоставляем пример «случайного» агента в python/random_agent
, который выполняет случайные действия. Его можно использовать как основу для создания собственных агентов и как простой инструмент для предварительного просмотра среды.
bazel run -c opt dmlab2d/random_agent -- --level_name=clean_up
DeepMind Lab2D зависит от нескольких внешних программных библиотек, которые мы поставляем несколькими способами:
Библиотеки dm_env
, eigen
, luajit
, lua5.1
, lua5.2
, luajit
, png
и zlib
упоминаются как внешние источники Bazel, а также предоставляются файлы Bazel BUILD. Сам зависимый код должен быть достаточно переносимым, а правила BUILD, которые мы поставляем, специфичны для Linux x86 и MacOS (x86 и Arm64). Чтобы использовать другую платформу, вам, скорее всего, придется отредактировать эти файлы BUILD.
«Общий API обучения с подкреплением» включен в //third_party/rl_api
.
Требуется несколько дополнительных библиотек, но они не поставляются ни в каком виде; они должны присутствовать в вашей системе:
Python 3.8
или более поздней версии с NumPy
, PyGame
и packaging
.Правила сборки используют несколько настроек компилятора, специфичных для GCC/Clang. Если некоторые флаги не распознаются вашим компилятором (обычно это специальные подавления предупреждений), возможно, вам придется отредактировать эти флаги.
Это не официальный продукт Google.