Code Monkey home page Code Monkey logo

treeqn's Introduction

TreeQN and ATreeC: Differentiable Tree Planning for Deep Reinforcement Learning

Code of our ICLR 2018 paper.

Requirements

The code can be run in a docker container as described below. The dockerfile template in docker/Dockerfile.cuda.template lists all requirements that may be needed to set up a non-dockerised environment. The core requirements are pytorch, gym, and sacred.

Sacred

The configuration and logging is handled by Sacred. Results are stored by the FileStorageObserver as .json's in results/. We recommend a MongoObserver (requires pymongo) to organise larger numbers of experiments.

Options

Valid configuration options are documented in conf/default.yaml. The default settings correspond to our Atari experiments on Seaquest with TreeQN, depth 2.

Running

To run a default setup with the configuration specified in conf/default.yaml, simply execute:

python treeqn/nstep_run.py

Further parameters can be specified using with:

python treeqn/nstep_run.py with env_id=Qbert architecture=dqn

Configuration files can also be used. Our box-pushing experiment defaults are given in conf/push.yaml:

python treeqn/nstep_run.py with config=./conf/push.yaml

If you have Docker installed, you can build a docker image tagged treeqn with:

cd docker
./build.sh
cd ..

To run an experiment in a detached docker container named treeqn-$GPU_ID, use:

./docker/run.sh $GPU_ID python treeqn/nstep_run.py

Citation

@inproceedings{farquhar2018treeqn,
  title={TreeQN and ATreeC: Differentiable Tree-Structured Models for Deep Reinforcement Learning},
  author={Farquhar, Gregory and Rockt{\"a}schel, Tim and Igl, Maximilian and Whiteson, Shimon},
  booktitle={ICLR 2018},
  year={2018}
}

treeqn's People

Contributors

greg-farquhar avatar rockt avatar zacwellmer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.