What is Ray? ============ .. include:: ray-overview/basics.rst Getting Started with Ray ------------------------ 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. Ray uses Tasks (functions) and Actors (Classes) to allow you to parallelize your Python code: .. code-block:: python import ray ray.init() @ray.remote def f(x): return x * x futures = [f.remote(i) for i in range(4)] print(ray.get(futures)) # [0, 1, 4, 9] @ray.remote class Counter(object): def __init__(self): self.n = 0 def increment(self): 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] print(ray.get(futures)) # [1, 1, 1, 1] The Ray Community ----------------- Ray is more than a framework for distributed applications but also an active community of developers, researchers, and folks that love machine learning. You can join (and Star!) us on `on GitHub`_. You can also join `community slack `_ to discuss Ray! The community is extremely active in helping people succeed in building their ray applications. You can also get started by visiting our `Tutorials `_. For the latest wheels (nightlies), see the `installation page `__. .. _`on GitHub`: https://github.com/ray-project/ray More Information ================ 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 -------------- - `Modern Parallel and Distributed Python: A Quick Tutorial on Ray `_ - `Why Every Python Developer Will Love Ray `_ - `Ray: A Distributed System for AI (BAIR) `_ - `10x Faster Parallel Python Without Python Multiprocessing `_ - `Implementing A Parameter Server in 15 Lines of Python with Ray `_ - `Ray Distributed AI Framework Curriculum `_ - `RayOnSpark: Running Emerging AI Applications on Big Data Clusters with Ray and Analytics Zoo `_ - `First user tips for Ray `_ - [Tune] `Tune: a Python library for fast hyperparameter tuning at any scale `_ - [Tune] `Cutting edge hyperparameter tuning with Ray Tune `_ - [RLlib] `New Library Targets High Speed Reinforcement Learning `_ - [RLlib] `Scaling Multi Agent Reinforcement Learning `_ - [RLlib] `Functional RL with Keras and Tensorflow Eager `_ - [Modin] `How to Speed up Pandas by 4x with one line of code `_ - [Modin] `Quick Tip – Speed up Pandas using Modin `_ - `Ray Blog`_ .. _`Ray Blog`: https://ray-project.github.io/ Talks (Videos) -------------- - `Programming at any Scale with Ray | SF Python Meetup Sept 2019 `_ - `Ray for Reinforcement Learning | Data Council 2019 `_ - `Scaling Interactive Pandas Workflows with Modin `_ - `Ray: A Distributed Execution Framework for AI | SciPy 2018 `_ - `Ray: A Cluster Computing Engine for Reinforcement Learning Applications | Spark Summit `_ - `RLlib: Ray Reinforcement Learning Library | RISECamp 2018 `_ - `Enabling Composition in Distributed Reinforcement Learning | Spark Summit 2018 `_ - `Tune: Distributed Hyperparameter Search | RISECamp 2018 `_ Slides ------ - `Talk given at UC Berkeley DS100 `_ - `Talk given in October 2019 `_ - [Tune] `Talk given at RISECamp 2019 `_ Academic Papers --------------- - `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 ================ - `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. .. _`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 .. _`Pull Requests`: https://github.com/ray-project/ray/pulls .. toctree:: :maxdepth: -1 :caption: Overview of Ray ray-overview/index.rst installation.rst .. toctree:: :maxdepth: -1 :caption: Ray Core walkthrough.rst using-ray.rst configure.rst ray-dashboard.rst cluster-index.rst Tutorial and Examples package-ref.rst .. toctree:: :maxdepth: -1 :caption: Tune tune.rst Tutorials, Guides, Examples tune/api_docs/overview.rst tune-contrib.rst .. toctree:: :maxdepth: -1 :caption: RLlib rllib.rst rllib-toc.rst rllib-training.rst rllib-env.rst rllib-models.rst rllib-algorithms.rst rllib-offline.rst rllib-concepts.rst rllib-examples.rst rllib-package-ref.rst rllib-dev.rst .. toctree:: :maxdepth: -1 :caption: Ray SGD raysgd/raysgd.rst raysgd/raysgd_pytorch.rst raysgd/raysgd_tensorflow.rst raysgd/raysgd_dataset.rst raysgd/raysgd_ref.rst .. toctree:: :maxdepth: -1 :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: Other Libraries multiprocessing.rst joblib.rst iter.rst pandas_on_ray.rst .. toctree:: :maxdepth: -1 :caption: Development and Internals development.rst profiling.rst fault-tolerance.rst getting-involved.rst