Skip to content
Please note that GitHub no longer supports Internet Explorer.

We recommend upgrading to the latest Microsoft Edge, Google Chrome, or Firefox.

Learn more
A set of 13 diverse machine-learning tasks that require memory to solve.
Python
Branch: master
Clone or download
DeepMind Copybara-Service
DeepMind and Copybara-Service Fix incorrectly named settings argument in random_agent.
PiperOrigin-RevId: 292323631
Change-Id: Ie8dd3740647eb623cdef308c6936620ad572e2c2
Latest commit b079e78 Jan 30, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dm_memorytasks Fix class name for load_from_disk_test Jan 20, 2020
docs
examples Fix incorrectly named settings argument in random_agent. Jan 30, 2020
CONTRIBUTING.md
LICENSE Initial commit Dec 6, 2019
README.md Update CPU and Python minimum requirements. Dec 10, 2019
setup.py Update CPU and Python minimum requirements. Dec 10, 2019

README.md

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.

You can’t perform that action at this time.