{ "info": { "author": "Stanford Vision and Learning Lab", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Artificial Intelligence" ], "description": "**`SURREAL `__**\n==============================================\n\n| `About <#open-source-distributed-reinforcement-learning-framework>`__\n| `Installation <#installation>`__\n| `Benchmarking <#benchmarking>`__\n| `Citation <#citation>`__\n\nOpen-Source Distributed Reinforcement Learning Framework\n--------------------------------------------------------\n\n*Stanford Vision and Learning Lab*\n\n`SURREAL `__ is a fully integrated\nframework that runs state-of-the-art distributed reinforcement learning\n(RL) algorithms.\n\n.. raw:: html\n\n
\n\n.. raw:: html\n\n
\n\n- **Scalability**. RL algorithms are data hungry by nature. Even the\n simplest Atari games, like Breakout, typically requires up to a\n billion frames to learn a good solution. To accelerate training\n significantly, SURREAL parallelizes the environment simulation and\n learning. The system can easily scale to thousands of CPUs and\n hundreds of GPUs.\n\n- **Flexibility**. SURREAL unifies distributed on-policy and off-policy\n learning into a single algorithmic formulation. The key is to\n separate experience generation from learning. Parallel actors\n generate massive amount of experience data, while a *single,\n centralized* learner performs model updates. Each actor interacts\n with the environment independently, which allows them to diversify\n the exploration for hard long-horizon robotic tasks. They send the\n experiences to a centralized buffer, which can be instantiated as a\n FIFO queue for on-policy mode and replay memory for off-policy mode.\n\n.. raw:: html\n\n \n\n- **Reproducibility**. RL algorithms are notoriously hard to reproduce\n [Henderson et al., 2017], due to multiple sources of variations like\n algorithm implementation details, library dependencies, and hardware\n types. We address this by providing an *end-to-end integrated\n pipeline* that replicates our full cluster hardware and software\n runtime setup.\n\n.. raw:: html\n\n \n\nInstallation\n------------\n\n| Surreal algorithms can be deployed at various scales. It can run on a\n single laptop and solve easier locomotion tasks, or run on hundreds of\n machines to solve complex manipulation tasks.\n| \\* `Surreal on your Laptop `__ \\* `Surreal on\n Google Cloud Kubenetes Engine `__\n| \\* `Customizing Surreal `__\n| \\* `Documentation Index `__\n\nBenchmarking\n------------\n\n- Scalability of Surreal-PPO with up to 1024 actors on Surreal Robotics\n Suite.\n\n.. figure:: .README_images/scalability-robotics.png\n :alt: \n\n- Training curves of 16 actors on OpenAI Gym tasks for 3 hours,\n compared to other baselines.\n\nCitation\n--------\n\nPlease cite our CORL paper if you use this repository in your\npublications:\n\n::\n\n @inproceedings{corl2018surreal,\n title={SURREAL: Open-Source Reinforcement Learning Framework and Robot Manipulation Benchmark},\n 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},\n booktitle={Conference on Robot Learning},\n year={2018}\n }\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/StanfordVL/Surreal", "keywords": "Reinforcement Learning,Deep Learning,Distributed Computing", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "Surreal", "package_url": "https://pypi.org/project/Surreal/", "platform": "", "project_url": "https://pypi.org/project/Surreal/", "project_urls": { "Homepage": "http://github.com/StanfordVL/Surreal" }, "release_url": "https://pypi.org/project/Surreal/0.2.1/", "requires_dist": [ "gym", "robosuite", "mujoco-py (<1.50.2,>=1.50.1)", "tabulate", "tensorflow", "tensorboardX", "imageio", "pygame", "benedict", "nanolog", "psutil", "tabulate", "imageio", "caraml (>=0.10.0)", "symphony (>=0.9.1)", "torchx (==0.9)", "tensorplex", "cloudwise (>=0.1.1)", "Cython (<0.29)" ], "requires_python": "", "summary": "Stanford University Repository for Reinforcement Algorithms", "version": "0.2.1" }, "last_serial": 5180024, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "ac09baee73ebdbdf7b240c20d2c9c6cf", "sha256": "8d907f49405b493e71b36b7dd9c873d4952b65cd9b3702f9cde977cfaf53e7ab" }, "downloads": -1, "filename": "surreal-0.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ac09baee73ebdbdf7b240c20d2c9c6cf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3341, "upload_time": "2017-04-02T17:26:17", "url": "https://files.pythonhosted.org/packages/53/6a/26d8810c29ccae65a4067c69018e90f6778ca56defad48ca70215fcf8b96/surreal-0.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "59dc806ffc6b9cfba9aec90f12a80a32", "sha256": "2b8cdae77d9199dab27ea4b606c253b7c5b33ec87a91304e26120453515e6af1" }, "downloads": -1, "filename": "surreal-0.0.0.tar.gz", "has_sig": false, "md5_digest": "59dc806ffc6b9cfba9aec90f12a80a32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1029, "upload_time": "2017-04-02T17:26:19", "url": "https://files.pythonhosted.org/packages/04/2d/8f5cf8eb0a4e14812473a1177a57b410751f95ae0b3d5491d44cf2cba863/surreal-0.0.0.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "da621223c6a5357fd593fb8f2c2cdf1e", "sha256": "97bf391f5e275a203354a7f1e35cee222abdf9045e5d090458acb8d0a15247bd" }, "downloads": -1, "filename": "Surreal-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "da621223c6a5357fd593fb8f2c2cdf1e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 136533, "upload_time": "2018-10-28T22:03:35", "url": "https://files.pythonhosted.org/packages/8c/b5/d14b09fd5c0c7318c65203db360bb05f1489a7011061048c8920055b55a3/Surreal-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "535046c297cbb466a49dfebb112f8368", "sha256": "e9759b249761c5f84d3cc509bd37058fc732c5bcd18d80ce87832077bb895f50" }, "downloads": -1, "filename": "Surreal-0.1.0.tar.gz", "has_sig": false, "md5_digest": "535046c297cbb466a49dfebb112f8368", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 126220, "upload_time": "2018-10-28T22:03:36", "url": "https://files.pythonhosted.org/packages/bf/3c/985f67ada827d8cd2f09a083c56a2244288a9a5890fe0da8e9c77e7e418d/Surreal-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "84ae8330bbda1207d17aa0a823544dff", "sha256": "03bca5661136232df5d8d13e5c6eeae345bd6a26c7b4ece0b11fbfb53365449c" }, "downloads": -1, "filename": "Surreal-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "84ae8330bbda1207d17aa0a823544dff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 136535, "upload_time": "2018-10-28T22:13:22", "url": "https://files.pythonhosted.org/packages/2f/2d/e65feb88c87d67cf404eae0270f8afe33f008f7a328fa70edb9dda031406/Surreal-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec036d19e232cd9b63964aa61e9c799d", "sha256": "32cb863f815d181719f661e3f999ccd60bf9a1fd91efdde7044f28fc83fd75f2" }, "downloads": -1, "filename": "Surreal-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ec036d19e232cd9b63964aa61e9c799d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 126208, "upload_time": "2018-10-28T22:13:24", "url": "https://files.pythonhosted.org/packages/ae/53/96ef7de81d5224bfd82e4f0ababed86f07e93dbabd4e39151cb272a62000/Surreal-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "30c0e584c82c833ad633dda6038cb9b4", "sha256": "a22dc6267e93c7b6944642337b05b6bd186bc6abdbc4a1fe4ddefb23e8fb1537" }, "downloads": -1, "filename": "Surreal-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "30c0e584c82c833ad633dda6038cb9b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 137177, "upload_time": "2019-01-16T23:01:05", "url": "https://files.pythonhosted.org/packages/7f/4f/e35f29d3f7663c16a1e55f12a36e9fc27b46acc10ad64d524825e6be0774/Surreal-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8646794238f305e0d8fcb566f5cddc40", "sha256": "f93148d075bedaa4dfc140790938991b5717afb652d7ed3fae081d3ff46fadf0" }, "downloads": -1, "filename": "Surreal-0.2.tar.gz", "has_sig": false, "md5_digest": "8646794238f305e0d8fcb566f5cddc40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 133027, "upload_time": "2019-01-16T23:01:07", "url": "https://files.pythonhosted.org/packages/9d/76/baecf1591dfd0c68cb34fd261f49568e84ac914760137228ca57abaa15c0/Surreal-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "e70baed521595550ea3e95ea4997774a", "sha256": "30d03a7a6752011e1a1230abf9bdef41ed950e41aaf77d4f21fc0c4dfb85244b" }, "downloads": -1, "filename": "Surreal-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e70baed521595550ea3e95ea4997774a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 144116, "upload_time": "2019-04-24T02:43:52", "url": "https://files.pythonhosted.org/packages/9c/7c/79e73fb5961d2409eae9c823ca0d5305bda3f1bafdf0318ab0e63edbef60/Surreal-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a9721cb26ed23a794e4752b7c83643a", "sha256": "e5bc2e106c137b4946d93e30b3eaa4382cb03bfe192e31a05b40373e187a1c06" }, "downloads": -1, "filename": "Surreal-0.2.1.tar.gz", "has_sig": false, "md5_digest": "4a9721cb26ed23a794e4752b7c83643a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134424, "upload_time": "2019-04-24T02:43:53", "url": "https://files.pythonhosted.org/packages/fe/a7/24d9d8974122376fd96de4861f816dbf2649e9fc83837b0afa7cbfbf7d9a/Surreal-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e70baed521595550ea3e95ea4997774a", "sha256": "30d03a7a6752011e1a1230abf9bdef41ed950e41aaf77d4f21fc0c4dfb85244b" }, "downloads": -1, "filename": "Surreal-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e70baed521595550ea3e95ea4997774a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 144116, "upload_time": "2019-04-24T02:43:52", "url": "https://files.pythonhosted.org/packages/9c/7c/79e73fb5961d2409eae9c823ca0d5305bda3f1bafdf0318ab0e63edbef60/Surreal-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a9721cb26ed23a794e4752b7c83643a", "sha256": "e5bc2e106c137b4946d93e30b3eaa4382cb03bfe192e31a05b40373e187a1c06" }, "downloads": -1, "filename": "Surreal-0.2.1.tar.gz", "has_sig": false, "md5_digest": "4a9721cb26ed23a794e4752b7c83643a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134424, "upload_time": "2019-04-24T02:43:53", "url": "https://files.pythonhosted.org/packages/fe/a7/24d9d8974122376fd96de4861f816dbf2649e9fc83837b0afa7cbfbf7d9a/Surreal-0.2.1.tar.gz" } ] }