Un environnement d'apprentissage écrit en C++ et Lua pour la création de mondes en grille.
DeepMind Lab2D est un système de création d'environnements 2D pour l'apprentissage automatique. Les principaux objectifs du système sont la facilité d'utilisation et les performances : les environnements sont des "mondes en grille", définis avec une combinaison de simples cartes textuelles pour la disposition du monde et de code Lua pour son comportement. Les agents d'apprentissage automatique interagissent avec ces environnements via l'une des deux API, l'API Python dm_env
ou une API C personnalisée (qui est également utilisée par DeepMind Lab). Plusieurs agents sont pris en charge.
Si vous utilisez DeepMind Lab2D dans vos recherches et souhaitez le citer, nous vous suggérons de citer le livre blanc qui l'accompagne.
DeepMind Lab2d est disponible sur PyPI et peut être installé en utilisant :
pip install dmlab2d
dmlab2d
est distribué sous forme de roues prédéfinies pour Linux et macOS. S'il n'existe pas de roue appropriée pour votre plateforme, vous devrez la construire à partir des sources. Voir install.sh
pour un exemple de script d'installation qui peut être adapté à votre configuration.
Nous fournissons un exemple d'agent "aléatoire" dans python/random_agent
, qui effectue des actions aléatoires. Cela peut être utilisé comme base pour créer vos propres agents et comme outil simple pour prévisualiser un environnement.
bazel run -c opt dmlab2d/random_agent -- --level_name=clean_up
DeepMind Lab2D dépend de quelques bibliothèques de logiciels externes, que nous livrons de plusieurs manières différentes :
Les bibliothèques dm_env
, eigen
, luajit
, lua5.1
, lua5.2
, luajit
, png
et zlib
sont référencées en tant que sources Bazel externes et les fichiers Bazel BUILD sont fournis. Le code dépendant lui-même doit être assez portable et les règles BUILD que nous fournissons sont spécifiques à Linux x86 et MacOS (x86 et arm64). Pour construire sur une plate-forme différente, vous devrez probablement modifier ces fichiers BUILD.
Une « API générique d'apprentissage par renforcement » est incluse dans //third_party/rl_api
.
Plusieurs bibliothèques supplémentaires sont requises mais ne sont livrées sous aucune forme ; ils doivent être présents sur votre système :
Python 3.8
ou supérieur avec NumPy
, PyGame
et packaging
.Les règles de construction utilisent quelques paramètres du compilateur spécifiques à GCC/Clang. Si certains indicateurs ne sont pas reconnus par votre compilateur (il s'agit généralement de suppressions d'avertissements spécifiques), vous devrez peut-être modifier ces indicateurs.
Ce n'est pas un produit Google officiel.