Un entorno de aprendizaje escrito en C++ y Lua para la creación de mundos grid.
DeepMind Lab2D es un sistema para la creación de entornos 2D para aprendizaje automático. Los principales objetivos del sistema son la facilidad de uso y el rendimiento: los entornos son "mundos cuadriculados", que se definen con una combinación de mapas simples basados en texto para el diseño del mundo y código Lua para su comportamiento. Los agentes de aprendizaje automático interactúan con estos entornos a través de una de dos API, la API dm_env
de Python o una API C personalizada (que también utiliza DeepMind Lab). Se admiten varios agentes.
Si utiliza DeepMind Lab2D en su investigación y desea citarlo, le sugerimos que cite el documento técnico adjunto.
DeepMind Lab2d está disponible en PyPI y se puede instalar usando:
pip install dmlab2d
dmlab2d
se distribuye como ruedas prediseñadas para Linux y macOS. Si no existe una rueda adecuada para su plataforma, deberá crearla desde el código fuente. Consulte install.sh
para obtener un script de instalación de ejemplo que se puede adaptar a su configuración.
Proporcionamos un agente "aleatorio" de ejemplo en python/random_agent
, que realiza acciones aleatorias. Esto se puede utilizar como base para crear sus propios agentes y como una herramienta sencilla para obtener una vista previa de un entorno.
bazel run -c opt dmlab2d/random_agent -- --level_name=clean_up
DeepMind Lab2D depende de algunas bibliotecas de software externas, que enviamos de varias maneras diferentes:
Se hace referencia a las bibliotecas dm_env
, eigen
, luajit
, lua5.1
, lua5.2
, luajit
, png
y zlib
como fuentes externas de Bazel y se proporcionan archivos BUILD de Bazel. El código dependiente en sí debe ser bastante portátil y las reglas BUILD que enviamos son específicas para Linux x86 y MacOS (x86 y arm64). Para construir en una plataforma diferente, lo más probable es que tengas que editar esos archivos BUILD.
Se incluye una "API genérica de aprendizaje por refuerzo" en //third_party/rl_api
.
Se requieren varias bibliotecas adicionales, pero no se envían de ningún modo; deben estar presentes en su sistema:
Python 3.8
o superior con NumPy
, PyGame
y packaging
.Las reglas de compilación utilizan algunas configuraciones del compilador que son específicas de GCC/Clang. Si su compilador no reconoce algunas banderas (normalmente serían supresiones de advertencias específicas), es posible que tenga que editar esas banderas.
Este no es un producto oficial de Google.