Coder Social home page Coder Social logo

ml-lab / seed_rl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from google-research/seed_rl

0.0 2.0 0.0 97 KB

SEED RL: Scalable and Efficient Deep-RL with Accelerated Central Inference. Implements IMPALA and R2D2 algorithms in TF2 with SEED's architecture.

License: Apache License 2.0

Python 82.99% Shell 7.64% C++ 9.37%

seed_rl's Introduction

SEED

This repository contains an implementation of distributed reinforcement learning agent where both training and inference are performed on the learner.

Two agents are implemented:

The code is already interfaced with the following environments:

However, any reinforcement learning environment using the gym API can be used.

For a detailed description of the architecture please read our paper. Please cite the paper if you use the code from this repository in your work.

Bibtex

@article{espeholt2019seed,
    title={SEED RL: Scalable and Efficient Deep-RL with Accelerated Central Inference},
    author={Lasse Espeholt and Rapha{\"e}l Marinier and Piotr Stanczyk and Ke Wang and Marcin Michalski},
    year={2019},
    eprint={1910.06591},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

Prerequisites

There are a few steps you need to take before playing with SEED. Instructions below assume you run the Ubuntu distribution.

apt-get install git
  • Clone SEED git repository:
git clone https://github.com/google-research/seed_rl.git
cd seed_rl

Local Machine Training on a Single Level

To easily start with SEED we provide a way of running it on a local machine. You just need to run the following command:

./run_local.sh [atari|dmlab|football]

It will build a Docker image using SEED source code and start the training inside the Docker image.

Distributed Training using AI Platform

Note that training with AI Platform results in charges for using compute resources.

The first step is to configure GCP and a Cloud project you will use for training:

gcloud auth login
gcloud config set project [YOUR_PROJECT]

Then you just need to execute one of the provided scenarios:

gcp/train_[scenario_name].sh

This will build the Docker image, push it to the repository which AI Platform can access and start the training process on the Cloud. Follow output of the command for progress. You can also view the running training jobs at https://console.cloud.google.com/ml/jobs

DeepMind Lab Level Cache

By default majority of DeepMind Lab's CPU usage is generated by creating new scenarios. This cost can be eliminated by enabling level cache. To enable it, set the level_cache_dir flag in the dmlab/config.py. As there are many unique episodes it is a good idea to share the same cache across multiple experiments. For AI Platform you can add --level_cache_dir=gs://${BUCKET_NAME}/dmlab_cache to the list of parameters passed in gcp/submit.sh to the experiment.

seed_rl's People

Contributors

qstanczyk avatar raphaelmarinier avatar

Watchers

 avatar  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.