用 C++ 和 Lua 编写的用于创建网格世界的学习环境。
DeepMind Lab2D是一个用于创建机器学习 2D 环境的系统。该系统的主要目标是易用性和性能:环境是“网格世界”,它是通过简单的基于文本的地图的世界布局和其行为的 Lua 代码的组合来定义的。机器学习代理通过两个 API 之一与这些环境进行交互:Python dm_env
API 或自定义 C API(DeepMind Lab 也使用该 API)。支持多个代理。
如果您在研究中使用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 文件。
//third_party/rl_api
中包含“通用强化学习 API”。
需要几个额外的库,但不以任何形式提供;它们必须存在于您的系统上:
Python 3.8
或更高版本,带有NumPy
、 PyGame
和packaging
。构建规则使用一些特定于 GCC/Clang 的编译器设置。如果您的编译器无法识别某些标志(通常是特定的警告抑制),您可能必须编辑这些标志。
这不是 Google 官方产品。