Customisable 3D benchmark for assessing generalisation in Reinforcement Learning.
MazeExplorer is a customisable 3D benchmark for assessing generalisation in Reinforcement Learning.
Simply put, MazeExplorer makes it easy to create separate training and test environments for your agents.
This repository contains the code for the MazeExplorer Gym Environment along with the scripts to generate baseline results.
By Luke Harries*, Sebastian Lee*, Jaroslaw Rzepecki, Katja Hofmann, and Sam Devlin.
* Joint first author
The goal is to navigate a procedurally generated maze and collect a set number of keys.
The environment is highly customisable, allowing you to create different training and test environments.
The following features of the environment can be configured:
- Unique or repeated maps
- Number of maps
- Map Size (X, Y)
- Maze complexity
- Maze density
- Random/Fixed keys
- Random/Fixed textures
- Random/Fixed spawn
- Number of keys
- Environment Seed
- Episode timeout
- Reward clipping
- Frame stack
- Action frame repeat
- Actions space
- Specific textures (Wall, ceiling, floor)
- Data Augmentation
from mazeexplorer import MazeExplorer train_env = MazeExplorer(number_maps=1, size=(15, 15), random_spawn=True, random_textures=False, keys=6) test_env = MazeExplorer(number_maps=1, size=(15, 15), random_spawn=True, random_textures=False, keys=6) # training for _ in range(1000): obs, rewards, dones, info = train_env.step(train_env.action_space.sample()) # testing for _ in range(1000): obs, rewards, dones, info = test_env.step(test_env.action_space.sample())
- Install the dependencies for VizDoom: Linux, MacOS or Windows.
pip3 install virtualenv pytest
- Create a virtualenv and activate it
- Git clone this repo
git clone https://github.com/microsoft/MazeExplorer
- cd into the repo:
- Pull the submodules with
git submodule update --init --recursive
- Install the dependencies:
pip3 install -e .
- Run the tests:
The information to reproduce the baseline experiments is shown in
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size mazeexplorer-1.0.5.tar.gz (86.5 kB)||File type Source||Python version None||Upload date||Hashes View|