diff --git a/doc/source/timeline.png b/doc/source/timeline.png new file mode 100644 index 000000000..8acabda9d Binary files /dev/null and b/doc/source/timeline.png differ diff --git a/doc/source/tune.rst b/doc/source/tune.rst index 78a4e1e17..593416d0c 100644 --- a/doc/source/tune.rst +++ b/doc/source/tune.rst @@ -1,4 +1,4 @@ -Ray.tune: Efficient distributed hyperparameter search +Ray.tune: Efficient Distributed Hyperparameter Search ===================================================== This document describes Ray.tune, a hyperparameter tuning tool for long-running tasks such as RL and deep learning training. It has the following features: diff --git a/doc/source/webui.rst b/doc/source/webui.rst index cd4cb1b3a..5db73cf52 100644 --- a/doc/source/webui.rst +++ b/doc/source/webui.rst @@ -1,6 +1,11 @@ Web UI ====== +The Ray web UI includes tools for debugging Ray jobs. The following +image shows an example of using the task timeline for performance debugging: + +.. image:: timeline.png + Dependencies ------------ diff --git a/python/ray/rllib/README.rst b/python/ray/rllib/README.rst index 56e27c718..7eb108287 100644 --- a/python/ray/rllib/README.rst +++ b/python/ray/rllib/README.rst @@ -1,5 +1,5 @@ -RLLib: Ray's modular and scalable reinforcement learning library -================================================================ +RLLib: A Scalable Reinforcement Learning Library +================================================ Getting Started --------------- @@ -28,4 +28,4 @@ The available algorithms are: `A3C `__ based on `the OpenAI starter agent `__. -Documentation can be `found here `__. +User documentation can be `found here `__. diff --git a/python/ray/tune/README.rst b/python/ray/tune/README.rst index 9c3970264..697ad6973 100644 --- a/python/ray/tune/README.rst +++ b/python/ray/tune/README.rst @@ -3,4 +3,26 @@ Ray.tune: Efficient distributed hyperparameter search Ray.tune is a hyperparameter tuning tool for long-running tasks such as RL and deep learning training. -Documentation can be `found here `__. +User documentation can be `found here `__. + +Implementation overview +----------------------- + +At a high level, Ray.tune takes in JSON experiment configs (e.g. that defines the grid or random search) +and compiles them into a number of `Trial` objects. It schedules trials on the Ray cluster using a given +`TrialScheduler` implementation (e.g. median stopping rule or HyperBand). + +This is implemented as follows: + +- `variant_generator.py `__ + parses the config and generates the trial variants. + +- `trial.py `__ manages the lifecycle + of the Ray actor responsible for executing the trial. + +- `trial_runner.py `__ tracks scheduling + state for all the trials of an experiment. TrialRunners are usually + created automatically by ``run_experiments(experiment_json)``, which parses and starts the experiments. + +- `trial_scheduler.py `__ + plugs into TrialRunner to implement custom prioritization or early stopping algorithms.