Eine in C++ und Lua geschriebene Lernumgebung für die Erstellung von Grid-Welten.
DeepMind Lab2D ist ein System zur Erstellung von 2D-Umgebungen für maschinelles Lernen. Die Hauptziele des Systems sind Benutzerfreundlichkeit und Leistung: Die Umgebungen sind „Gitterwelten“, die mit einer Kombination aus einfachen textbasierten Karten für das Layout der Welt und Lua-Code für ihr Verhalten definiert werden. Agenten für maschinelles Lernen interagieren mit diesen Umgebungen über eine von zwei APIs, die Python- dm_env
-API oder eine benutzerdefinierte C-API (die auch von DeepMind Lab verwendet wird). Es werden mehrere Agenten unterstützt.
Wenn Sie DeepMind Lab2D in Ihrer Forschung verwenden und es zitieren möchten, empfehlen wir Ihnen, das beiliegende Whitepaper zu zitieren.
DeepMind Lab2d ist auf PyPI verfügbar und kann installiert werden mit:
pip install dmlab2d
dmlab2d
wird als vorgefertigte Räder für Linux und macOS vertrieben. Wenn es für Ihre Plattform kein geeignetes Rad gibt, müssen Sie es aus dem Quellcode erstellen. Unter install.sh
finden Sie ein Beispielinstallationsskript, das an Ihr Setup angepasst werden kann.
Wir stellen einen Beispielagenten für einen „zufälligen“ Agenten in python/random_agent
bereit, der zufällige Aktionen ausführt. Dies kann als Grundlage für die Erstellung eigener Agenten und als einfaches Tool zur Vorschau einer Umgebung verwendet werden.
bazel run -c opt dmlab2d/random_agent -- --level_name=clean_up
DeepMind Lab2D ist auf einige externe Softwarebibliotheken angewiesen, die wir auf verschiedene Arten bereitstellen:
Die Bibliotheken dm_env
, eigen
, luajit
, lua5.1
, lua5.2
, luajit
, png
und zlib
werden als externe Bazel-Quellen referenziert und Bazel BUILD-Dateien werden bereitgestellt. Der abhängige Code selbst sollte einigermaßen portierbar sein und die von uns ausgelieferten BUILD-Regeln sind spezifisch für Linux x86 und MacOS (x86 und arm64). Um auf einer anderen Plattform zu bauen, müssen Sie höchstwahrscheinlich diese BUILD-Dateien bearbeiten.
Eine „generische Reinforcement-Learning-API“ ist in //third_party/rl_api
enthalten.
Mehrere zusätzliche Bibliotheken sind erforderlich, werden aber in keiner Form mitgeliefert; Sie müssen auf Ihrem System vorhanden sein:
Python 3.8
oder höher mit NumPy
, PyGame
und packaging
.Die Build-Regeln verwenden einige Compiler-Einstellungen, die speziell für GCC/Clang gelten. Wenn einige Flags von Ihrem Compiler nicht erkannt werden (normalerweise handelt es sich dabei um bestimmte Warnungsunterdrückungen), müssen Sie diese Flags möglicherweise bearbeiten.
Dies ist kein offizielles Google-Produkt.