Skip to main content
**`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}
}

Metadata

Release files for Surreal 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Surreal 0.2.1
File Size Uploaded
Surreal-0.2.1.tar.gz 134.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Surreal 0.2.1
File Interpreter ABI Platform
Surreal-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 278.5 kB

Release files / Surreal-0.2.1.tar.gz

Download URL Surreal-0.2.1.tar.gz
Size 134.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e5bc2e106c137b4946d93e30b3eaa4382cb03bfe192e31a05b40373e187a1c06
BLAKE2b-256 checksum
How to use checksums
fea724d9d8974122376fd96de4861f816dbf2649e9fc83837b0afa7cbfbf7d9a
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / Surreal-0.2.1-py3-none-any.whl

Download URL Surreal-0.2.1-py3-none-any.whl
Size 144.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
30d03a7a6752011e1a1230abf9bdef41ed950e41aaf77d4f21fc0c4dfb85244b
BLAKE2b-256 checksum
How to use checksums
9c7c79e73fb5961d2409eae9c823ca0d5305bda3f1bafdf0318ab0e63edbef60
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page