Skip to content

Commit 8f11183

Browse files
fix docs tutorial links and add intro to guides/index.md (#285)
* fix docs tutorial links and add intro to guides/index.md Signed-off-by: Hemil Desai <[email protected]> * Adding project.json/versions1.json, and update conf.py Signed-off-by: Andrew Schilling <[email protected]> * fixes Signed-off-by: Hemil Desai <[email protected]> --------- Signed-off-by: Hemil Desai <[email protected]> Signed-off-by: Andrew Schilling <[email protected]> Co-authored-by: Andrew Schilling <[email protected]>
1 parent 6550ff6 commit 8f11183

File tree

7 files changed

+100
-36
lines changed

7 files changed

+100
-36
lines changed

docs/source/conf.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,27 @@
7979
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
8080

8181
html_theme = "nvidia_sphinx_theme"
82+
html_theme_options = {
83+
"switcher": {
84+
"json_url": "../versions1.json",
85+
"version_match": release,
86+
},
87+
"extra_head": {
88+
"""
89+
<script src="https://assets.adobedtm.com/5d4962a43b79/c1061d2c5e7b/launch-191c2462b890.min.js" ></script>
90+
"""
91+
},
92+
"extra_footer": {
93+
"""
94+
<script type="text/javascript">if (typeof _satellite !== "undefined") {_satellite.pageBottom();}</script>
95+
"""
96+
},
97+
"icon_links": [
98+
{
99+
"name": "GitHub",
100+
"url": "https://github.com/NVIDIA-NeMo/Run",
101+
"icon": "fa-brands fa-github",
102+
}
103+
],
104+
}
105+
html_extra_path = ["project.json", "versions1.json"]

docs/source/guides/index.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
Guides
2+
=================
3+
4+
```{toctree}
5+
:maxdepth: 2
6+
:hidden:
7+
8+
why-use-nemo-run
9+
configuration
10+
execution
11+
management
12+
ray
13+
cli
14+
```
15+
16+
Welcome to the NeMo-Run guides! This section provides comprehensive documentation on how to use NeMo-Run effectively for your machine learning experiments.
17+
18+
## Get Started
19+
20+
If you're new to NeMo-Run, we recommend starting with:
21+
22+
- **[Why Use NeMo-Run?](why-use-nemo-run.md)** - Understand the benefits and philosophy behind NeMo-Run.
23+
- **[Configuration](configuration.md)** - Learn how to configure your ML tasks and experiments.
24+
- **[Execution](execution.md)** - Discover how to run your experiments across different computing environments.
25+
- **[Management](management.md)** - Master experiment tracking, reproducibility, and organization.
26+
27+
## Advanced Topics
28+
29+
For more advanced usage:
30+
31+
- **[Ray Integration](ray.md)** - Learn how to use NeMo-Run with Ray for distributed computing.
32+
- **[CLI Reference](cli.md)** - Explore the command-line interface for NeMo-Run.
33+
34+
## Core Concepts
35+
36+
NeMo-Run is built around three core responsibilities:
37+
38+
1. **Configuration** - Define your ML experiments using a flexible, Pythonic configuration system.
39+
2. **Execution** - Run your experiments seamlessly across local machines, Slurm clusters, cloud providers, and more.
40+
3. **Management** - Track, reproduce, and organize your experiments with built-in experiment management.
41+
42+
Each guide dives deep into these concepts with practical examples and best practices. Choose a guide above to get started!

docs/source/guides/index.rst

Lines changed: 0 additions & 12 deletions
This file was deleted.

docs/source/guides/management.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# Management
1+
# Manage NeMo-Run
22

3-
The central component for management of tasks in NeMo-Run is the `Experiment` class. It allows you to define, launch, and manage complex workflows consisting of multiple tasks. This guide provides an overview of the `Experiment` class, its methods, and how to use it effectively.
3+
The central component for the management of tasks in NeMo-Run is the `Experiment` class. It allows you to define, launch, and manage complex workflows consisting of multiple tasks. This guide provides an overview of the `Experiment` class, its methods, and how to use it effectively.
44

5-
## **Creating an Experiment**
5+
## Create an Experiment
66

77
To create an experiment, you can instantiate the `Experiment` class by passing in a descriptive title:
88

@@ -14,11 +14,11 @@ When executed, it will automatically generate a unique experiment ID for you, wh
1414

1515
> [!NOTE] > `Experiment` is a context manager and `Experiment.add` and `Experiment.run` methods can currently only be used after entering the context manager.
1616
17-
## **Adding Tasks**
17+
## Add Tasks
1818

1919
You can add tasks to an experiment using the `add` method. This method supports tasks of the following kind:
2020

21-
- A single task which is an instance of either `run.Partial` or `run.Script`, along with its executor.
21+
- A single task, which is an instance of either `run.Partial` or `run.Script`, along with its executor.
2222

2323
```python
2424
with exp:
@@ -50,7 +50,7 @@ with run.Experiment("dag-experiment", log_level="INFO") as exp:
5050
)
5151
```
5252

53-
## **Launching an Experiment**
53+
## Launch an Experiment
5454

5555
Once you have added all tasks to an experiment, you can launch it using the `run` method. This method takes several optional arguments, including `detach`, `sequential`, and `tail_logs` and `direct`:
5656

@@ -65,15 +65,15 @@ with exp:
6565
exp.run(detach=True, sequential=False, tail_logs=True, direct=False)
6666
```
6767

68-
## **Experiment Status**
68+
## Check Experiment Status
6969

7070
You can check the status of an experiment using the `status` method:
7171

7272
```python
7373
exp.status()
7474
```
7575

76-
This method will display information the status of each task in the experiment. The following is a sample output from the status of experiment in [hello_scripts.py](../../../examples/hello-world/hello_scripts.py):
76+
This method will display information about the status of each task in the experiment. The following is a sample output from the status of experiment in [hello_scripts.py](../../../examples/hello-world/hello_scripts.py):
7777

7878
```bash
7979
Experiment Status for experiment_with_scripts_1730761155
@@ -97,23 +97,23 @@ Task 2: simple.add.add_object
9797
- Local Directory: /home/your_user/.nemo_run/experiments/experiment_with_scripts/experiment_with_scripts_1730761155/simple.add.add_object
9898
```
9999

100-
## **Canceling a Task**
100+
## Cancel a Task
101101

102102
You can cancel a task using the `cancel` method:
103103

104104
```python
105105
exp.cancel("task_id")
106106
```
107107

108-
## **Viewing Logs**
108+
## View Logs
109109

110110
You can view the logs of a task using the `logs` method:
111111

112112
```python
113113
exp.logs("task_id")
114114
```
115115

116-
## **Experiment output**
116+
## Review Experiment Output
117117

118118
Once an experiment is run, NeMo-Run displays information on ways to inspect and reproduce past experiments. This allows you to check logs, sync artifacts (in the future), cancel running tasks, and rerun an old experiment.
119119

docs/source/index.rst

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
You can adapt this file completely to your liking, but it should at least
44
contain the root `toctree` directive.
55
6-
NeMo-Run documentation
6+
NeMo-Run Documentation
77
======================
88

99
NeMo-Run is a powerful tool designed to streamline the configuration, execution and management of Machine Learning experiments across various computing environments. NeMo Run has three core responsibilities:
@@ -18,23 +18,25 @@ This is also the typical order Nemo Run users will follow to setup and launch ex
1818
.. toctree::
1919
:maxdepth: 1
2020

21-
guides/index.rst
21+
guides/index
2222
API Reference <api/nemo_run/index>
2323
faqs
2424

25-
Installation
26-
------------
25+
Install the Project
26+
-------------------
2727
To install the project, use the following command:
2828

2929
``pip install git+https://github.com/NVIDIA-NeMo/Run.git``
3030

31-
To install Skypilot, we have optional features available.
31+
To install Skypilot with optional features, use one of the following commands:
3232

33-
``pip install git+https://github.com/NVIDIA-NeMo/Run.git[skypilot]``
34-
will install Skypilot w Kubernetes
33+
- To install Skypilot with Kubernetes support:
3534

36-
``pip install git+https://github.com/NVIDIA-NeMo/Run.git[skypilot-all]``
37-
will install Skypilot w all clouds
35+
``pip install git+https://github.com/NVIDIA-NeMo/Run.git[skypilot]``
36+
37+
- To install Skypilot with support for all cloud platforms:
38+
39+
``pip install git+https://github.com/NVIDIA-NeMo/Run.git[skypilot-all]``
3840

3941
You can also manually install Skypilot from https://skypilot.readthedocs.io/en/latest/getting-started/installation.html
4042

@@ -50,7 +52,7 @@ Make sure you have `pip` installed and configured properly.
5052
Tutorials
5153
---------
5254

53-
The ``hello_world`` tutorial series provides a comprehensive introduction to NeMo Run, demonstrating its capabilities through a simple example. The tutorial covers:
55+
The ``hello_world`` tutorial series provides a comprehensive introduction to NeMo-Run, demonstrating its capabilities through a simple example. The tutorial covers:
5456

5557
- Configuring Python functions using ``Partial`` and ``Config`` classes.
5658
- Executing configured functions locally and on remote clusters.
@@ -59,6 +61,6 @@ The ``hello_world`` tutorial series provides a comprehensive introduction to NeM
5961

6062
You can find the tutorial series below:
6163

62-
1. `Part 1 <../../../NeMo-Run/examples/hello-world/hello_world.ipynb>`
63-
2. `Part 2 <../../../NeMo-Run/examples/hello-world/hello_experiments.ipynb>`
64-
3. `Part 3 <../../../NeMo-Run/examples/hello-world/hello_scripts.py>`
64+
1. `Part 1: Hello World <../../../examples/hello-world/hello_world.ipynb>`_
65+
2. `Part 2: Hello Experiments <../../../examples/hello-world/hello_experiments.ipynb>`_
66+
3. `Part 3: Hello Scripts <../../../examples/hello-world/hello_scripts.py>`_

docs/source/project.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"name": "NeMo-Run", "version": "0.1.0"}

docs/source/versions1.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[
2+
{
3+
"preferred": true,
4+
"version": "0.1.0",
5+
"url": "../0.1.0"
6+
}
7+
]

0 commit comments

Comments
 (0)