DeepMind Lab2D
一个用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的编译器设置。如果您的编译器无法识别某些标志(通常是特定的警告抑制),您可能需要编辑这些标志。
免责声明
这不是谷歌的官方产品。