Skip to content

A set of 13 diverse machine-learning tasks that require memory to solve.

License

Notifications You must be signed in to change notification settings

stjordanis/dm_memorytasks

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

dm_memorytasks: DeepMind Memory Task Suite

The DeepMind Memory Task Suite is a set of 13 diverse machine-learning tasks that require memory to solve. They are constructed to let us evaluate generalization performance on a memory-specific holdout set.

The 8 tasks in this repo are Unity-based. Besides these, there are 4 tasks in the overall Memory Task Suite that are modifications of PsychLab tasks, and 1 that is a modification of a DMLab level.

NOTE: The 5 other tasks in the Suite are in Psychlab and DMLab, not Unity. Psychlab is part of DMLab. DMLab has a separate set of installation instructions.

Overview

These tasks are provided through pre-packaged Docker containers.

This package consists of support code to run these Docker containers. You interact with the task environment via a dm_env Python interface.

Please see the documentation for more detailed information on the available tasks, actions and observations.

Requirements

dm_memorytasks requires Docker, Python 3.6.1 or later and a x86-64 CPU with SSE4.2 support. We do not attempt to maintain a working version for Python 2.

Note: We recommend using Python virtual environment to mitigate conflicts with your system's Python environment.

Download and install Docker:

Installation

dm_memorytasks can be installed from PyPi using pip:

$ pip install dm-memorytasks

To also install the dependencies for the examples/, install with:

$ pip install dm-memorytasks[examples]

Alternatively, you can install dm_memorytasks by cloning a local copy of our GitHub repository:

$ git clone https://github.com/deepmind/dm_memorytasks.git
$ pip install ./dm_memorytasks

Usage

Once dm_memorytasks is installed, to instantiate a dm_env instance run the following:

import dm_memorytasks

settings = dm_memorytasks.EnvironmentSettings(seed=123, level_name='spot_diff_train')
env = dm_memorytasks.load_from_docker(settings)

Citing

If you use dm_memorytasks in your work, please cite the accompanying paper:

@inproceedings{fortunato2019generalization,
        title={Generalization of Reinforcement Learners with Working and Episodic Memory},
        author={Fortunato, Meire and
                Tan, Melissa and
                Faulkner, Ryan and
                Hansen, Steven and
                Badia, Adri{\`a} Puigdom{\`e}nech and
                Buttimore, Gavin and
                Deck, Charles and
                Leibo, Joel Z and
                Blundell, Charles},
        booktitle={Advances in Neural Information Processing Systems},
        pages={12448--12457},
        year={2019},
}

Notice

This is not an officially supported Google product.

About

A set of 13 diverse machine-learning tasks that require memory to solve.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%