Skip to content

Commit 2ce31af

Browse files
author
Dean Wampler
committed
Completed the Tune tutorial draft
1 parent 5e79433 commit 2ce31af

18 files changed

+733
-19910
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ ray-rllib/tmp/
1616
ray-rllib/extras/tmp/
1717
explore-rllib/tmp
1818
ray-rllib/explore-rllib/tmp
19+
data

Overview.ipynb

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,15 @@
2525
"\n",
2626
"We want to hear your feedback and any issues you encounter!\n",
2727
"\n",
28-
"* [GitHub issues](https://github.com/anyscale/academy/issues)\n",
29-
"* The [#tutorial channel](https://ray-distributed.slack.com/archives/C011ML23W5B) on the [Ray Slack](https://ray-distributed.slack.com)\n",
28+
"* The [#tutorial channel](https://ray-distributed.slack.com/archives/C011ML23W5B) on the [Ray Slack](https://ray-distributed.slack.com). [Click here](https://forms.gle/9TSdDYUgxYs8SA9e8) to join the Ray Slack.\n",
3029
"* [Email](mailto:[email protected])\n",
3130
"\n",
31+
"Find an issue? Please report it!\n",
32+
"\n",
33+
"* [GitHub issues](https://github.com/anyscale/academy/issues)\n",
34+
"\n",
35+
"### Troubleshooting\n",
36+
"\n",
3237
"Troubleshooting tips are offered in known areas where you might encounter issues. All are summarized in the [_Troubleshooting, Tips, and Tricks notebook_](reference/Troubleshooting-Tips-Tricks.ipynb). For the details of the Ray API and libraries built on Ray, see the [Ray Docs](https://docs.ray.io/en/latest/).\n",
3338
"\n",
3439
"If you are new to Jupyter Lab and Jupyter Notebooks, see _Help > JupyterLab Reference_. The _Help_ menu also has references for Python and various libraries."
@@ -53,6 +58,8 @@
5358
"* Accelerated model training with PyTorch: see [_Ray SGD_](#user-content-ray-sgd)\n",
5459
"* Model serving: see [_Ray Serve_](#user-content-ray-serve)\n",
5560
"\n",
61+
"If you are a _DevOps_ engineer interested in managing Ray clusters, see [_Ray Cluster Launcher_](#user-content-ray-cluster-launcher).\n",
62+
"\n",
5663
"> **Note:** Older Ray tutorials can be found in the [this repo](https://github.com/ray-project/tutorial). They cover topics not yet available here."
5764
]
5865
},
@@ -113,7 +120,7 @@
113120
"\n",
114121
"The _crash course_ is intended to focus on learning the core API as quickly as possible, but using nontrivial examples. In contrast, the _Advanced Ray_ tutorial explores more advanced API usage, profiling and debugging applications, and how Ray works behind the scenes.\n",
115122
"\n",
116-
"| # | Lesson (Notebook) | Description |\n",
123+
"| | Lesson (Notebook) | Description |\n",
117124
"| :- | :------------------------------------------------------------------------- | :---------------------------------------- |\n",
118125
"| 00 | [Overview](ray-crash-course/00-Overview-Ray-Crash-Course.ipynb) | A _table of contents_ for this tutorial. |\n",
119126
"| 01 | [Ray Tasks](ray-crash-course/01-Ray-Tasks.ipynb) | Understanding how Ray converts normal Python functions into distributed _stateless tasks_. |\n",
@@ -139,7 +146,7 @@
139146
"\n",
140147
"Go through the [_Crash Course_](#ray-crash-course) first if you are new to Ray. This tutorial provides a deeper dive into Ray tasks and actors, such as profiling and debugging applications. It also surveys the rest of the core API.\n",
141148
"\n",
142-
"| # | Lesson (Notebook) | Description |\n",
149+
"| | Lesson (Notebook) | Description |\n",
143150
"| :- | :-------------------------------------------------------- | :---------------------------------------- |\n",
144151
"| 00 | [Overview](advanced-ray/00-Overview-Advanced-Ray.ipynb) | A _table of contents_ for this tutorial. |\n",
145152
"| 01 | [Ray Tasks Revisited](advanced-ray/01-Ray-Tasks-Revisited.ipynb) | More exploration of `ray.wait()` usage patterns, task dependencies and their management, and task profiling techniques. |\n",
@@ -224,9 +231,7 @@
224231
"| [Extra: Application - Taxi](ray-rllib/explore-rllib/extras/Extra-Application-Taxi.ipynb) | Based on the `Taxi-v3` environment from OpenAI Gym. |\n",
225232
"| [Extra: Application - Frozen Lake](ray-rllib/explore-rllib/extras/Extra-Application-Frozen-Lake.ipynb) | Based on the `FrozenLake-v0` environment from OpenAI Gym. |\n",
226233
"\n",
227-
"In addition, exercise solutions for this tutorial can be found [here](ray-rllib/explore-rllib/solutions/Ray-RLlib-Solutions.ipynb).\n",
228-
"\n",
229-
"For earlier versions of some of these tutorials, see [`rllib_exercises`](https://github.com/ray-project/tutorial/blob/master/rllib_exercises/rllib_colab.ipynb) in the original [github.com/ray-project/tutorial](https://github.com/ray-project/tutorial) project."
234+
"In addition, exercise solutions for this tutorial can be found [here](ray-rllib/explore-rllib/solutions/Ray-RLlib-Solutions.ipynb)."
230235
]
231236
},
232237
{
@@ -239,7 +244,16 @@
239244
"\n",
240245
"_Ray Tune_ is Ray's system for _hyperparameter tuning_. This tutorial starts with an explanation of what hyperparameter tuning is for and the performances challenges doing it for many applications. Then the tutorial explores how to use _Tune_, how it integrates with several popular ML frameworks, and the algorithms supported in _Tune_.\n",
241246
"\n",
242-
"> **Note:** This tutorial will be released soon."
247+
"| | Lesson | Description |\n",
248+
"| :-- | :----- | :---------- |\n",
249+
"| 00 | [Ray Tune Overview](ray-tune/00-Ray-Tune-Overview.ipynb) | Overview of this tutorial. |\n",
250+
"| 01 | [Understanding Hyperparameter Tuning](ray-tune/01-Understanding-Hyperparameter-Tuning.ipynb) | An explanation of hyperparameters vs. parameters and a non-trivial example of hyperparameter tuning/optimization with Tune. |\n",
251+
"| 02 | [More Ray Tune with MNIST](ray-tune/02-More-Ray-Tune-with-MNIST.ipynb) | More exploration of the Tune API, using an MNIST example. |\n",
252+
"| 03 | [Search Algos and Schedulers](ray-tune/03-Search-Algos-and-Schedulers.ipynb) | Understanding the concepts of search algorithms and schedulers, again using an MNIST example. |\n",
253+
"| 04 | [Ray SGD](ray-tune/04-Ray-SGD.ipynb) | The new Ray SGD API and how to use it. |\n",
254+
"| | [Hyperparameter Tuning References](ray-tune/References-Hyperparameter-Tuning.ipynb) | Overview of this tutorial. |\n",
255+
"\n",
256+
"In addition, exercise solutions for this tutorial can be found in the `ray-tune/solutions` directory."
243257
]
244258
},
245259
{
@@ -248,11 +262,9 @@
248262
"source": [
249263
"### Ray SGD\n",
250264
"\n",
251-
"Directory: `ray-sgd`\n",
252-
"\n",
253-
"_Ray SGD_ is a tool to more easily exploit a cluster to perform training with _Stochastic Gradient Descent_ using PyTorch (TensorFlow support forthcoming).\n",
265+
"_Ray SGD_ is a tool to more easily exploit a cluster to perform training with _Stochastic Gradient Descent_ using PyTorch and TensorFlow.\n",
254266
"\n",
255-
"> **Note:** This tutorial will be released soon."
267+
"Currently, there is a single lesson for Ray SGD as part of the Ray Tune tutorial."
256268
]
257269
},
258270
{
@@ -263,7 +275,18 @@
263275
"\n",
264276
"Directory: `ray-serve`\n",
265277
"\n",
266-
"_Ray Serve_ is Ray's system for scalable _model serving_, with capabilities that also make it suitable for other web server applications. This tutorial starts with an explanation of what's required in model serving, followed by a tour of the API with examples.\n",
278+
"_Ray Serve_ is Ray's system for scalable _model serving_, with capabilities that also make it suitable for other web server applications. This tutorial starts with an explanation of what's required in model serving, followed by a tour of the API with examples."
279+
]
280+
},
281+
{
282+
"cell_type": "markdown",
283+
"metadata": {},
284+
"source": [
285+
"### Ray Cluster Launcher\n",
286+
"\n",
287+
"Directory: `ray-cluster-launcher`\n",
288+
"\n",
289+
"When managing Ray clusters, you will want to use the _Ray Cluster Launcher_.\n",
267290
"\n",
268291
"> **Note:** This tutorial will be released soon."
269292
]

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,10 @@ Here is a recommended reading list, based on your interests:
157157
| A developer who is new to Ray | First, [_Ray Crash Course_](ray-crash-course/00-Overview-Ray-Crash-Course.ipynb), then [_Advanced Ray_](advanced-ray/00-Overview-Advanced-Ray.ipynb) |
158158
| A developer who is experienced with Ray | [_Advanced Ray_](advanced-ray/00-Overview-Advanced-Ray.ipynb) (_alpha_ release) |
159159
| A developer or data scientist interested in Reinforcement Learning | [_Ray RLlib_](rllib/00-Overview-Ray-RLlib.ipynb) |
160-
| A developer or data scientist interested in Hyperparameter Tuning | _Ray Tune_ (forthcoming) |
161-
| A developer or data scientist interested in accelerated model training with PyTorch | _Ray SGD_ (forthcoming) |
162-
| A developer or data scientist interested in model serving | _Ray Serve_ (forthcoming) |
160+
| A developer or data scientist interested in Hyperparameter Tuning | _Ray Tune_ |
161+
| A developer or data scientist interested in accelerated model training with PyTorch |See the _Ray SGD_ lesson in the _Ray Tune_ tutorial |
162+
| A developer or data scientist interested in model serving | _Ray Serve_ |
163+
| A _DevOps_ engineer interested in managing Ray clusters | _Ray Cluster Launcher_ (forthcoming) |
163164

164165
### Tutorial Descriptions
165166

advanced-ray/00-Overview-Advanced-Ray.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"source": [
4242
"## Getting Help\n",
4343
"\n",
44-
"* The [#tutorial channel](https://ray-distributed.slack.com/archives/C011ML23W5B) on the [Ray Slack](https://ray-distributed.slack.com)\n",
44+
"* The [#tutorial channel](https://ray-distributed.slack.com/archives/C011ML23W5B) on the [Ray Slack](https://ray-distributed.slack.com). [Click here](https://forms.gle/9TSdDYUgxYs8SA9e8) to join the Ray Slack.\n",
4545
"* [Email](mailto:[email protected])\n",
4646
"\n",
4747
"Find an issue? Please report it!\n",

images/RaySGD.png

-150 KB
Loading

images/RayServe.png

21.7 KB
Loading
File renamed without changes.

ray-crash-course/00-Overview-Ray-Crash-Course.ipynb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,20 @@
2626
"> 3. Go [here](../Overview.ipynb) for an overview of all tutorials."
2727
]
2828
},
29+
{
30+
"cell_type": "markdown",
31+
"metadata": {},
32+
"source": [
33+
"## Getting Help\n",
34+
"\n",
35+
"* The [#tutorial channel](https://ray-distributed.slack.com/archives/C011ML23W5B) on the [Ray Slack](https://ray-distributed.slack.com). [Click here](https://forms.gle/9TSdDYUgxYs8SA9e8) to join the Ray Slack.\n",
36+
"* [Email](mailto:[email protected])\n",
37+
"\n",
38+
"Find an issue? Please report it!\n",
39+
"\n",
40+
"* [GitHub issues](https://github.com/anyscale/academy/issues)"
41+
]
42+
},
2943
{
3044
"cell_type": "markdown",
3145
"metadata": {},

ray-rllib/00-Ray-RLlib-Overview.ipynb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
"\n",
1313
"This tutorial, part of [Anyscale Academy](https://anyscale.com/academy), introduces the broad topic of _reinforcement learning_ (RL) and [RLlib](https://ray.readthedocs.io/en/latest/rllib.html), Ray's comprehensive RL library.\n",
1414
"\n",
15+
"![Ray RLlib](../images/RLlib.png)\n",
16+
"\n",
1517
"The lessons in this tutorial use different _environments_ from [OpenAI Gym](https://gym.openai.com/) to illustrate how to train _policies_.\n",
1618
"\n",
1719
"See the instructions in the [README](../README.md) for setting up your environment to use this tutorial.\n",
@@ -139,7 +141,7 @@
139141
"source": [
140142
"## Getting Help\n",
141143
"\n",
142-
"* The [#tutorial channel](https://ray-distributed.slack.com/archives/C011ML23W5B) on the [Ray Slack](https://ray-distributed.slack.com)\n",
144+
"* The [#tutorial channel](https://ray-distributed.slack.com/archives/C011ML23W5B) on the [Ray Slack](https://ray-distributed.slack.com). [Click here](https://forms.gle/9TSdDYUgxYs8SA9e8) to join the Ray Slack.\n",
143145
"* [Email](mailto:[email protected])\n",
144146
"\n",
145147
"Find an issue? Please report it!\n",

ray-tune/00-Ray-Tune-Overview.ipynb

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,15 @@
1010
"\n",
1111
"![Anyscale Academy](../images/AnyscaleAcademy_Logo_clearbanner_141x100.png)\n",
1212
"\n",
13-
"> **NOTE:** This tutorial is under development. This overview is a placeholder.\n",
13+
"This tutorial, part of [Anyscale Academy](https://anyscale.com/academy), introduces _hyperparameter tuning_, often called _hyperparameter optimization_ for which we'll use the acronym _HPO_ (since \"hyperparameter\" is often spelled \"hyper parameter\"). \n",
1414
"\n",
15-
"This tutorial, part of [Anyscale Academy](https://anyscale.com/academy), introduces _hyperparameter tuning_, often called _hyperparameter optimization_ for which we'll use the acronym _HPO_ (since \"hyperparameter\" is often spelled \"hyper parameter\"). In particular this tutorial introduces [Ray Tune](http://tune.io), Ray's comprehensive HPO library.\n",
15+
"In particular this tutorial introduces [Ray Tune](http://tune.io), Ray's comprehensive HPO library.\n",
16+
"\n",
17+
"![Ray Tune](../images/RayTune.png)\n",
18+
"\n",
19+
"There is also a lesson on the new [Ray SGD](https://docs.ray.io/en/latest/raysgd/raysgd.html) API.\n",
20+
"\n",
21+
"![Ray SGD](../images/RaySGD.png)\n",
1622
"\n",
1723
"See the instructions in the [README](../README.md) for setting up your environment to use this tutorial.\n",
1824
"\n",
@@ -27,9 +33,12 @@
2733
"| :-- | :----- | :---------- |\n",
2834
"| 00 | [Ray Tune Overview](00-Ray-Tune-Overview.ipynb) | Overview of this tutorial. |\n",
2935
"| 01 | [Understanding Hyperparameter Tuning](01-Understanding-Hyperparameter-Tuning.ipynb) | An explanation of hyperparameters vs. parameters and a non-trivial example of hyperparameter tuning/optimization with Tune. |\n",
36+
"| 02 | [More Ray Tune with MNIST](02-More-Ray-Tune-with-MNIST.ipynb) | More exploration of the Tune API, using an MNIST example. |\n",
37+
"| 03 | [Search Algos and Schedulers](03-Search-Algos-and-Schedulers.ipynb) | Understanding the concepts of search algorithms and schedulers, again using an MNIST example. |\n",
38+
"| 04 | [Ray SGD](04-Ray-SGD.ipynb) | The new Ray SGD API and how to use it. |\n",
3039
"| | [Hyperparameter Tuning References](References-Hyperparameter-Tuning.ipynb) | Overview of this tutorial. |\n",
3140
"\n",
32-
"In addition, exercise solutions for this tutorial can be found [here](solutions/Ray-Tune-Solutions.ipynb).\n",
41+
"In addition, exercise solutions for this tutorial can be found in the `solutions` directory.\n",
3342
"\n",
3443
"For other, earlier tutorials that use Tune, see [github.com/ray-project/tutorial](https://github.com/ray-project/tutorial)."
3544
]

0 commit comments

Comments
 (0)