DeepMind Lab is a 3D learning environment based on id Software's Quake III Arena via ioquake3 and other open source software.
DeepMind Lab provides a suite of challenging 3D navigation and puzzle-solving tasks for learning agents. Its primary purpose is to act as a testbed for research in artificial intelligence, especially deep reinforcement learning.
Disclaimer: This is not an official Google product.
If you use DeepMind Lab in your research and would like to cite the DeepMind Lab environment, we suggest you cite the DeepMind Lab paper.
You can reach us at [email protected].
-
Get Bazel from bazel.io.
-
Clone DeepMind Lab, e.g. by running
$ git clone https://github.com/deepmind/lab
$ cd labFor a live example of a random agent, run
lab$ bazel run :python_random_agent --define graphics=sdl -- \
--length=10000 --width=640 --height=480Here is some more detailed build documentation, including how to install dependencies if you don't have them.
To enable compiler optimizations, pass the flag --compilation_mode=opt, or
-c opt for short, to each bazel build, bazel test and bazel run command.
The flag is omitted from the examples here for brevity, but it should be used
for real training and evaluation where performance matters.
To test the game using human input controls, run
lab$ bazel run :game -- --level_script=tests/empty_room_test --level_setting=logToStdErr=true
# or:
lab$ bazel run :game -- -l tests/empty_room_test -s logToStdErr=trueLeave the logToStdErr setting off to disable most log output.
The values of observations that the environment exposes can be printed at every
step by adding a flag --observation OBSERVATION_NAME for each observation of
interest.
lab$ bazel run :game -- --level_script=lt_chasm --observation VEL.TRANS --observation VEL.ROTDeepMind Lab ships with an example random agent in
python/random_agent.py
which can be used as a starting point for implementing a learning agent. To let
this agent interact with DeepMind Lab for training, run
