mirror of
https://github.com/wassname/ray.git
synced 2026-07-11 21:43:06 +08:00
2d543b6e1911c7949154ad00ca8a0ad2086e282f
This introduces rllib.Evaluator and rllib.Optimizer classes. Optimizers encapsulate a particular distributed optimization strategy for RL. Evaluators encapsulate the model graph, and once implemented, any Optimizer may be "plugged in" to any algorithm that implements the Evaluator interface.
Implement object table notification subscriptions and switch to using Redis modules for object table. (#134)
Ray
===
.. image:: https://travis-ci.org/ray-project/ray.svg?branch=master
:target: https://travis-ci.org/ray-project/ray
.. image:: https://readthedocs.org/projects/ray/badge/?version=latest
:target: http://ray.readthedocs.io/en/latest/?badge=latest
|
Ray is a flexible, high-performance distributed execution framework.
Installation
------------
- Ray can be installed on Linux and Mac with ``pip install ray``.
- To build Ray from source, see the instructions for `Ubuntu`_ and `Mac`_.
.. _`Ubuntu`: http://ray.readthedocs.io/en/latest/install-on-ubuntu.html
.. _`Mac`: http://ray.readthedocs.io/en/latest/install-on-macosx.html
Example Program
---------------
+------------------------------------------------+----------------------------------------------+
| **Basic Python** | **Distributed with Ray** |
+------------------------------------------------+----------------------------------------------+
|.. code:: python |.. code-block:: python |
| | |
| import time | import time |
| | import ray |
| | |
| | ray.init() |
| | |
| | @ray.remote |
| def f(): | def f(): |
| time.sleep(1) | time.sleep(1) |
| return 1 | return 1 |
| | |
| # Execute f serially. | # Execute f in parallel. |
| results = [f() for i in range(4)] | object_ids = [f.remote() for i in range(4)] |
| | results = ray.get(object_ids) |
+------------------------------------------------+----------------------------------------------+
More Information
----------------
- `Documentation`_
- `Tutorial`_
- `Blog`_
- `Ray HotOS paper`_
.. _`Documentation`: http://ray.readthedocs.io/en/latest/index.html
.. _`Tutorial`: https://github.com/ray-project/tutorial
.. _`Blog`: https://ray-project.github.io/
.. _`Ray HotOS paper`: https://arxiv.org/abs/1703.03924
Getting Involved
----------------
- Ask questions on our mailing list `ray-dev@googlegroups.com`_.
- Please report bugs by submitting a `GitHub issue`_.
- Submit contributions using `pull requests`_.
.. _`ray-dev@googlegroups.com`: https://groups.google.com/forum/#!forum/ray-dev
.. _`GitHub issue`: https://github.com/ray-project/ray/issues
.. _`pull requests`: https://github.com/ray-project/ray/pulls
Description
An open source framework that provides a simple, universal API for building distributed applications. Ray is packaged with RLlib, a scalable reinforcement learning library, and Tune, a scalable hyperparameter tuning library.
Languages
Python
56.6%
C++
28.8%
Java
8.5%
TypeScript
1.7%
Starlark
1.4%
Other
2.8%