2020-05-26 08:39:34 -07:00
What is Ray?
============
2017-02-27 21:14:31 -08:00
2020-05-26 08:39:34 -07:00
.. include :: ray-overview/basics.rst
2018-01-19 10:14:34 -08:00
2020-05-26 08:39:34 -07:00
Getting Started with Ray
------------------------
2018-01-19 10:14:34 -08:00
2020-05-26 08:39:34 -07:00
Check out :ref: `gentle-intro` to learn more about Ray and its ecosystem of libraries that enable things like distributed hyperparameter tuning,
reinforcement learning, and distributed training.
2017-02-27 21:14:31 -08:00
2020-05-26 08:39:34 -07:00
Ray uses Tasks (functions) and Actors (Classes) to allow you to parallelize your Python code:
2019-08-28 17:54:15 -07:00
2019-08-05 23:33:14 -07:00
.. code-block :: python
2019-08-28 17:54:15 -07:00
import ray
2019-08-05 23:33:14 -07:00
ray.init()
@ray.remote
def f(x):
return x * x
futures = [f.remote(i) for i in range(4)]
2020-05-26 08:39:34 -07:00
print(ray.get(futures)) # [0, 1, 4, 9]
2019-08-05 23:33:14 -07:00
@ray.remote
2019-10-10 19:09:25 -07:00
class Counter(object):
2019-08-05 23:33:14 -07:00
def __init__(self):
self.n = 0
2019-08-12 11:16:16 +03:00
def increment(self):
2019-08-05 23:33:14 -07:00
self.n += 1
def read(self):
return self.n
counters = [Counter.remote() for i in range(4)]
[c.increment.remote() for c in counters]
futures = [c.read.remote() for c in counters]
2020-05-26 08:39:34 -07:00
print(ray.get(futures)) # [1, 1, 1, 1]
2019-08-05 23:33:14 -07:00
2020-05-26 08:39:34 -07:00
The Ray Community
2019-08-05 23:33:14 -07:00
-----------------
2020-06-11 11:23:36 -07:00
Ray is more than a framework for distributed applications but also an active community of developers,
researchers, and folks that love machine learning.
2019-08-05 23:33:14 -07:00
2020-06-21 15:55:06 -07:00
.. tip :: Join our `community slack <https://forms.gle/9TSdDYUgxYs8SA9e8> `_ to discuss Ray! The community is extremely active in helping people succeed in building their ray applications.
2020-06-11 11:23:36 -07:00
You can join (and Star!) us on `on GitHub`_ .
2019-08-05 23:33:14 -07:00
2020-05-26 08:39:34 -07:00
You can also get started by visiting our `Tutorials <https://github.com/ray-project/tutorial> `_ . For the latest wheels (nightlies), see the `installation page <installation.html> `__ .
2019-08-05 23:33:14 -07:00
2020-05-26 08:39:34 -07:00
.. _`on GitHub`: https://github.com/ray-project/ray
2018-03-08 09:18:09 -08:00
2019-08-05 23:33:14 -07:00
2019-08-28 17:54:15 -07:00
More Information
2020-05-26 08:39:34 -07:00
================
2019-08-28 17:54:15 -07:00
2019-12-02 19:59:23 -08:00
Here are some talks, papers, and press coverage involving Ray and its libraries. Please raise an issue if any of the below links are broken!
Blog and Press
2020-05-26 08:39:34 -07:00
--------------
2019-12-02 19:59:23 -08:00
- `Modern Parallel and Distributed Python: A Quick Tutorial on Ray <https://towardsdatascience.com/modern-parallel-and-distributed-python-a-quick-tutorial-on-ray-99f8d70369b8> `_
- `Why Every Python Developer Will Love Ray <https://www.datanami.com/2019/11/05/why-every-python-developer-will-love-ray/> `_
- `Ray: A Distributed System for AI (BAIR) <http://bair.berkeley.edu/blog/2018/01/09/ray/> `_
- `10x Faster Parallel Python Without Python Multiprocessing <https://towardsdatascience.com/10x-faster-parallel-python-without-python-multiprocessing-e5017c93cce1> `_
- `Implementing A Parameter Server in 15 Lines of Python with Ray <https://ray-project.github.io/2018/07/15/parameter-server-in-fifteen-lines.html> `_
- `Ray Distributed AI Framework Curriculum <https://rise.cs.berkeley.edu/blog/ray-intel-curriculum/> `_
- `RayOnSpark: Running Emerging AI Applications on Big Data Clusters with Ray and Analytics Zoo <https://medium.com/riselab/rayonspark-running-emerging-ai-applications-on-big-data-clusters-with-ray-and-analytics-zoo-923e0136ed6a> `_
- `First user tips for Ray <https://rise.cs.berkeley.edu/blog/ray-tips-for-first-time-users/> `_
- [Tune] `Tune: a Python library for fast hyperparameter tuning at any scale <https://towardsdatascience.com/fast-hyperparameter-tuning-at-scale-d428223b081c> `_
- [Tune] `Cutting edge hyperparameter tuning with Ray Tune <https://medium.com/riselab/cutting-edge-hyperparameter-tuning-with-ray-tune-be6c0447afdf> `_
- [RLlib] `New Library Targets High Speed Reinforcement Learning <https://www.datanami.com/2018/02/01/rays-new-library-targets-high-speed-reinforcement-learning/> `_
- [RLlib] `Scaling Multi Agent Reinforcement Learning <http://bair.berkeley.edu/blog/2018/12/12/rllib/> `_
- [RLlib] `Functional RL with Keras and Tensorflow Eager <https://bair.berkeley.edu/blog/2019/10/14/functional-rl/> `_
- [Modin] `How to Speed up Pandas by 4x with one line of code <https://www.kdnuggets.com/2019/11/speed-up-pandas-4x.html> `_
- [Modin] `Quick Tip – Speed up Pandas using Modin <https://pythondata.com/quick-tip-speed-up-pandas-using-modin/> `_
- `Ray Blog`_
.. _`Ray Blog`: https://ray-project.github.io/
Talks (Videos)
2020-05-26 08:39:34 -07:00
--------------
2019-12-02 19:59:23 -08:00
- `Programming at any Scale with Ray | SF Python Meetup Sept 2019 <https://www.youtube.com/watch?v=LfpHyIXBhlE> `_
- `Ray for Reinforcement Learning | Data Council 2019 <https://www.youtube.com/watch?v=Ayc0ca150HI> `_
- `Scaling Interactive Pandas Workflows with Modin <https://www.youtube.com/watch?v=-HjLd_3ahCw> `_
- `Ray: A Distributed Execution Framework for AI | SciPy 2018 <https://www.youtube.com/watch?v=D_oz7E4v-U0> `_
- `Ray: A Cluster Computing Engine for Reinforcement Learning Applications | Spark Summit <https://www.youtube.com/watch?v=xadZRRB_TeI> `_
- `RLlib: Ray Reinforcement Learning Library | RISECamp 2018 <https://www.youtube.com/watch?v=eeRGORQthaQ> `_
- `Enabling Composition in Distributed Reinforcement Learning | Spark Summit 2018 <https://www.youtube.com/watch?v=jAEPqjkjth4> `_
- `Tune: Distributed Hyperparameter Search | RISECamp 2018 <https://www.youtube.com/watch?v=38Yd_dXW51Q> `_
Slides
2020-05-26 08:39:34 -07:00
------
2019-12-02 19:59:23 -08:00
- `Talk given at UC Berkeley DS100 <https://docs.google.com/presentation/d/1sF5T_ePR9R6fAi2R6uxehHzXuieme63O2n_5i9m7mVE/edit?usp=sharing> `_
- `Talk given in October 2019 <https://docs.google.com/presentation/d/13K0JsogYQX3gUCGhmQ1PQ8HILwEDFysnq0cI2b88XbU/edit?usp=sharing> `_
- [Tune] `Talk given at RISECamp 2019 <https://docs.google.com/presentation/d/1v3IldXWrFNMK-vuONlSdEuM82fuGTrNUDuwtfx4axsQ/edit?usp=sharing> `_
Academic Papers
2020-05-26 08:39:34 -07:00
---------------
2019-12-02 19:59:23 -08:00
2019-08-28 17:54:15 -07:00
- `Ray paper`_
- `Ray HotOS paper`_
- `RLlib paper`_
- `Tune paper`_
.. _`Ray paper`: https://arxiv.org/abs/1712.05889
.. _`Ray HotOS paper`: https://arxiv.org/abs/1703.03924
.. _`RLlib paper`: https://arxiv.org/abs/1712.09381
.. _`Tune paper`: https://arxiv.org/abs/1807.05118
Getting Involved
2020-05-26 08:39:34 -07:00
================
2019-08-28 17:54:15 -07:00
- `ray-dev@googlegroups.com`_ : For discussions about development or any general
questions.
- `StackOverflow`_ : For questions about how to use Ray.
- `GitHub Issues`_ : For reporting bugs and feature requests.
- `Pull Requests`_ : For submitting code contributions.
2019-08-05 23:33:14 -07:00
.. _`ray-dev@googlegroups.com`: https://groups.google.com/forum/#!forum/ray-dev
.. _`GitHub Issues`: https://github.com/ray-project/ray/issues
.. _`StackOverflow`: https://stackoverflow.com/questions/tagged/ray
2019-08-28 17:54:15 -07:00
.. _`Pull Requests`: https://github.com/ray-project/ray/pulls
2019-08-05 23:33:14 -07:00
2018-03-08 09:18:09 -08:00
2020-05-26 08:39:34 -07:00
2017-02-27 21:14:31 -08:00
.. toctree ::
2019-08-28 17:54:15 -07:00
:maxdepth: -1
2020-05-26 08:39:34 -07:00
:caption: Overview of Ray
2017-02-27 21:14:31 -08:00
2020-05-26 08:39:34 -07:00
ray-overview/index.rst
2018-03-12 00:52:00 -07:00
installation.rst
2017-02-27 21:14:31 -08:00
2017-03-04 23:06:02 -08:00
.. toctree ::
2019-08-28 17:54:15 -07:00
:maxdepth: -1
2019-12-02 19:59:23 -08:00
:caption: Ray Core
2020-02-11 23:17:30 -08:00
walkthrough.rst
2019-12-02 19:59:23 -08:00
using-ray.rst
2019-12-13 10:38:17 -08:00
configure.rst
2020-03-20 22:00:33 -07:00
ray-dashboard.rst
2019-12-13 10:38:17 -08:00
cluster-index.rst
2020-02-18 13:43:19 -08:00
Tutorial and Examples <auto_examples/overview.rst>
2019-08-05 23:33:14 -07:00
package-ref.rst
2018-03-08 09:18:09 -08:00
.. toctree ::
2019-08-28 17:54:15 -07:00
:maxdepth: -1
2020-06-22 19:52:11 -05:00
:caption: Ray Serve
serve/index.rst
serve/key-concepts.rst
serve/tutorials/index.rst
serve/deployment.rst
serve/advanced.rst
serve/package-ref.rst
.. toctree ::
:maxdepth: -1
:caption: Ray Tune
2018-03-08 09:18:09 -08:00
2017-11-23 11:31:59 -08:00
tune.rst
2020-04-25 18:25:56 -07:00
Tutorials, Guides, Examples <tune/tutorials/overview.rst>
2020-03-23 12:23:21 -07:00
tune/api_docs/overview.rst
2019-05-05 00:04:13 -07:00
tune-contrib.rst
2018-03-08 09:18:09 -08:00
.. toctree ::
2019-08-28 17:54:15 -07:00
:maxdepth: -1
2018-10-01 12:49:39 -07:00
:caption: RLlib
2018-03-08 09:18:09 -08:00
2017-12-06 18:17:51 -08:00
rllib.rst
2019-08-12 17:39:02 -07:00
rllib-toc.rst
2018-07-01 00:05:08 -07:00
rllib-training.rst
rllib-env.rst
rllib-models.rst
2019-04-07 00:36:18 -07:00
rllib-algorithms.rst
2019-01-03 15:15:36 +08:00
rllib-offline.rst
2018-07-08 18:46:52 -07:00
rllib-concepts.rst
2019-01-29 21:06:09 -08:00
rllib-examples.rst
2019-05-27 14:17:32 -07:00
rllib-package-ref.rst
2020-02-18 13:43:19 -08:00
rllib-dev.rst
2017-03-04 23:06:02 -08:00
2020-01-16 18:38:27 -08:00
.. toctree ::
:maxdepth: -1
2020-02-18 13:43:19 -08:00
:caption: Ray SGD
2020-01-16 18:38:27 -08:00
raysgd/raysgd.rst
2020-01-29 08:51:01 -08:00
raysgd/raysgd_pytorch.rst
raysgd/raysgd_tensorflow.rst
2020-06-01 15:48:15 -07:00
raysgd/raysgd_dataset.rst
2020-01-29 08:51:01 -08:00
raysgd/raysgd_ref.rst
2018-03-13 22:23:50 -07:00
.. toctree ::
2019-08-28 17:54:15 -07:00
:maxdepth: -1
2020-02-18 13:43:19 -08:00
:caption: Other Libraries
2018-03-13 22:23:50 -07:00
2019-12-29 21:40:58 -06:00
multiprocessing.rst
2020-01-27 16:35:48 -08:00
joblib.rst
2020-02-18 13:43:19 -08:00
iter.rst
pandas_on_ray.rst
2018-03-13 22:23:50 -07:00
2017-02-27 21:14:31 -08:00
.. toctree ::
2019-08-28 17:54:15 -07:00
:maxdepth: -1
2019-08-05 23:33:14 -07:00
:caption: Development and Internals
2017-05-22 15:20:20 -07:00
2018-01-19 16:16:45 -08:00
development.rst
2018-01-25 21:40:52 -08:00
profiling.rst
2019-08-05 23:33:14 -07:00
fault-tolerance.rst
2019-09-16 20:26:03 -07:00
getting-involved.rst