Skip to main content

Stanford University Repository for Reinforcement Algorithms

Project description

**`SURREAL <https://surreal.stanford.edu>`__**
==============================================

| `About <#open-source-distributed-reinforcement-learning-framework>`__
| `Installation <#installation>`__
| `Benchmarking <#benchmarking>`__
| `Citation <#citation>`__

Open-Source Distributed Reinforcement Learning Framework
--------------------------------------------------------

*Stanford Vision and Learning Lab*

`SURREAL <https://surreal.stanford.edu>`__ is a fully integrated
framework that runs state-of-the-art distributed reinforcement learning
(RL) algorithms.

.. raw:: html

<div align="center">

.. raw:: html

</div>

- **Scalability**. RL algorithms are data hungry by nature. Even the
simplest Atari games, like Breakout, typically requires up to a
billion frames to learn a good solution. To accelerate training
significantly, SURREAL parallelizes the environment simulation and
learning. The system can easily scale to thousands of CPUs and
hundreds of GPUs.

- **Flexibility**. SURREAL unifies distributed on-policy and off-policy
learning into a single algorithmic formulation. The key is to
separate experience generation from learning. Parallel actors
generate massive amount of experience data, while a *single,
centralized* learner performs model updates. Each actor interacts
with the environment independently, which allows them to diversify
the exploration for hard long-horizon robotic tasks. They send the
experiences to a centralized buffer, which can be instantiated as a
FIFO queue for on-policy mode and replay memory for off-policy mode.

.. raw:: html

<!--<img src=".README_images/distributed.png" alt="drawing" width="500" />-->

- **Reproducibility**. RL algorithms are notoriously hard to reproduce
[Henderson et al., 2017], due to multiple sources of variations like
algorithm implementation details, library dependencies, and hardware
types. We address this by providing an *end-to-end integrated
pipeline* that replicates our full cluster hardware and software
runtime setup.

.. raw:: html

<!--<img src=".README_images/pipeline.png" alt="drawing" height="250" />-->

Installation
------------

| Surreal algorithms can be deployed at various scales. It can run on a
single laptop and solve easier locomotion tasks, or run on hundreds of
machines to solve complex manipulation tasks.
| \* `Surreal on your Laptop <docs/surreal_subproc.md>`__ \* `Surreal on
Google Cloud Kubenetes Engine <docs/surreal_kube_gke.md>`__
| \* `Customizing Surreal <docs/contributing.md>`__
| \* `Documentation Index <docs/index.md>`__

Benchmarking
------------

- Scalability of Surreal-PPO with up to 1024 actors on Surreal Robotics
Suite.

.. figure:: .README_images/scalability-robotics.png
:alt:

- Training curves of 16 actors on OpenAI Gym tasks for 3 hours,
compared to other baselines.

Citation
--------

Please cite our CORL paper if you use this repository in your
publications:

::

@inproceedings{corl2018surreal,
title={SURREAL: Open-Source Reinforcement Learning Framework and Robot Manipulation Benchmark},
author={Fan, Linxi and Zhu, Yuke and Zhu, Jiren and Liu, Zihua and Zeng, Orien and Gupta, Anchit and Creus-Costa, Joan and Savarese, Silvio and Fei-Fei, Li},
booktitle={Conference on Robot Learning},
year={2018}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Surreal-0.2.1.tar.gz (134.4 kB view details)

Uploaded Source

Built Distribution

Surreal-0.2.1-py3-none-any.whl (144.1 kB view details)

Uploaded Python 3

File details

Details for the file Surreal-0.2.1.tar.gz.

File metadata

  • Download URL: Surreal-0.2.1.tar.gz
  • Upload date:
  • Size: 134.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for Surreal-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e5bc2e106c137b4946d93e30b3eaa4382cb03bfe192e31a05b40373e187a1c06
MD5 4a9721cb26ed23a794e4752b7c83643a
BLAKE2b-256 fea724d9d8974122376fd96de4861f816dbf2649e9fc83837b0afa7cbfbf7d9a

See more details on using hashes here.

File details

Details for the file Surreal-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: Surreal-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 144.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for Surreal-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 30d03a7a6752011e1a1230abf9bdef41ed950e41aaf77d4f21fc0c4dfb85244b
MD5 e70baed521595550ea3e95ea4997774a
BLAKE2b-256 9c7c79e73fb5961d2409eae9c823ca0d5305bda3f1bafdf0318ab0e63edbef60

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page