Coder Social home page Coder Social logo

dustinvanstee / academy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anyscale/academy

0.0 1.0 0.0 90.48 MB

Ray tutorials from Anyscale

Home Page: https://anyscale.com

License: Apache License 2.0

Jupyter Notebook 89.98% Python 9.06% Shell 0.96%

academy's Introduction

Anyscale Academy - Tutorials on Ray and Ray-based Libraries

© 2018-2020, Anyscale. All Rights Reserved

Welcome to the Anyscale Academy tutorials on Ray, the system for scaling your applications from a laptop to a cluster.

This README tells you how to set up the tutorials, view live Academy event videos, and decide which content is best for your interests.

Tips:

  1. Anyscale is developing a free, hosted version of these tutorials. Contact us for more information.
  2. Please report any issues or suggestions:
  3. If you are attending a live tutorial event, please follow the setup instructions provided in advance.
  4. For troubleshooting help, see the Troubleshooting, Tips, and Tricks notebook.

Videos of Previous Live Sessions

To see videos of live sessions covering most of this material, visit the Anyscale YouTube! channel or click the following links for specific sessions:

Tutorial Setup

Read the appropriate setup section that follows, then jump to Launching the Tutorials.

Setup for Anyscale Academy Hosted Sessions

There is nothing you need to setup, as the hosted environment will provide everything.

However, consider cloning or downloading a release of the tutorial notebooks and supporting software from the Academy repo, so you have a local copy of everything.

Tip: If you modify any notebooks during the hosted session, make sure you download them to save those changes.

Setup for a Local Machine

Note: Ray support for Windows is experimental. See these release notes for details. Alternatively, Contact Anyscale for a free hosted option for these tutorials.

Follow these instructions to use the tutorials. Note that some commands can take a while to finish.

Clone the Academy GitHub repo or download the latest release.

Now install the dependencies using either Anaconda or pip in your Python environment. We recommend using Anaconda.

Which Python Version?

Python 3.7 is recommended. While Ray supports Python 3.6, there are known problem using locales in that version and these tutorials. Specifically, the following code throws an error:

import locale
locale.setlocale(locale.LC_ALL, locale.getlocale())

This tutorial doesn't manipulate locales explicitly, but you may run into problems with your default locale.

While Ray supports Python 3.8, some dependencies used in RLlib (the Ray reinforcement library) are not yet supported for 3.8, at the time of this writing.

Using Anaconda

If you need to install Anaconda, follow the instructions here. If you already have Anaconda installed, consider running conda upgrade --all.

Run the following commands in the root directory of this project. First, use conda to install the other dependencies, including Ray. Then activate the newly-created environment, named anyscale-academy. Finally, run the provided tools/fix-jupyter.sh script to install a graphing library extension in Jupyter Lab and perform other tasks.

conda env create -f environment.yml
conda activate anyscale-academy
tools/fix-jupyter.sh

If you are using Windows, see the Fixing Jupyter Lab on Windows section below for an alternative to using tools/fix-jupyter.sh.

Note that Python 3.7 is used.

You can delete the environment later with the following command:

conda env remove --name anyscale-academy

Using Pip

If you don't use Anaconda, you'll have to install these prerequisites first:

  • Python 3.7:
    • See notes above about problems with 3.6 and 3.8. Don't use 3.8, but 3.6 may work for you.
    • The version of Python that comes with your operating system is probably too old. Try python --version to see what you have.
    • Installation instructions are at python.org.
  • Pip: A recent version - consider upgrading if it's not the latest version.
  • Node.js: Required for some of the Jupyter Lab graphics extensions we use.
    • Installation instructions are here.

Next, run the following commands in the root directory of this project to complete the setup. First, run the pip command to install the rest of the libraries required for these tutorials, including Ray. Then, run the provided script to install a graphing library extension in Jupyter Lab and perform other tasks.

pip install -r requirements.txt
tools/fix-jupyter.sh

If you are using Windows, see the Fixing Jupyter Lab on Windows section below for an alternative to using tools/fix-jupyter.sh.

Fixing Jupyter Lab on Windows

The tools/fix-jupyter.sh shell script runs the following commands. If you are using Windows, run them yourself as shown here.

First, see if the following pyviz extension is installed:

jupyter labextension check --installed "@pyviz/jupyterlab_pyviz"

If not, run this command:

jupyter labextension install "@pyviz/jupyterlab_pyviz"

Finally, run these commands:

jupyter labextension update --all
jupyter lab build
jupyter labextension list

Final Notes for Local Installation

If you use Jupyter a lot, consider installing Kite on your machine and the Jupter Lab plugin for Kite. Installation and usage instructions are here.

When you have finished working through the tutorials, run the script tools/cleanup.sh, which prints temporary files, checkpoint directories, etc. that were created during the lessons. You might want to remove these as they can add up to 100s of MBs.

Note: A Windows version of this script is TBD.

Launching the Tutorials

The previous steps installed Jupyter Lab, the notebook-based environment we'll use for all the lessons. To start run the following command in the project root directory:

jupyter lab

It should automatically open a browser window with the lab environment, but if not, the console output will show the URL you should use.

Tip: If you get an error that jupyter can't be found and you are using the Anaconda setup, make sure you activated the anyscale-academy environment, as shown above.

Which Tutorials Are Right for Me?

Here is a recommended reading list, based on your interests:

You Are... Best Tutorials
A developer who is new to Ray First, Ray Crash Course, then Advanced Ray
A developer who is experienced with Ray Advanced Ray (alpha release)
A developer or data scientist interested in Reinforcement Learning Ray RLlib
A developer or data scientist interested in Hyperparameter Tuning Ray Tune
A developer or data scientist interested in accelerated model training with PyTorch See the Ray SGD lesson in the Ray Tune tutorial
A developer or data scientist interested in model serving Ray Serve
A DevOps engineer interested in managing Ray clusters Ray Cluster Launcher (forthcoming)

Tutorial Descriptions

See the Overview notebook for detailed, up-to-date descriptions for each tutorial and the lessons it contains.

Troubleshooting and Further Information

See the Troubleshooting, Tips, and Tricks notebook.

For details on the Ray API and the ML libraries, see the Ray Docs. For other information, see ray.io, including the Ray blog.

Ray started at U.C. Berkeley RISELab. It is now developed in artisanal, small batches at Anyscale.

academy's People

Contributors

deanwampler avatar ceteri avatar robertnishihara avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.