Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOCS-1265]DOCS-1291]DOCS-1253][DOCS-1255] Docs updates for runs #1144

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions content/guides/core/reports/edit-a-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,17 @@ Add run sets from projects interactively with the App UI or the W&B SDK.

Enter a forward slash (`/`) in the report to display a dropdown menu. From the dropdown, choose Panel Grid. This will automatically import the run set from the project the report was created from.

You can [rename a run]({{< relref "/guides/models/track/runs/#rename-a-run" >}}) in the run set:

1. In the report, click the pencil icon to open the report editor.
1. In the run set, find the run to rename. Hover over the report name, click the three vertical dots, then select either:

- **Rename run for project**: rename the run across the entire project. To generate a new random name, leave the field blank.
- **Rename run for panel grid** rename the run only in the report, preserving the existing name in other contexts. Generating a new random name is not supported.

Submit the form.
1. Click **Publish report**.

{{% /tab %}}

{{% tab header="Workspaces API" value="sdk"%}}
Expand Down
73 changes: 64 additions & 9 deletions content/guides/models/track/runs/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ If you do not specify a project name, W&B stores the run in a project called `Un

Each run in W&B has a [unique identifier known as a *run ID*]({{< relref "#unique-run-identifiers" >}}). [You can specify a unique ID]({{< relref "#unique-run-identifiers" >}}) or let [W&B randomly generate one for you]({{< relref "#autogenerated-run-ids" >}}).

Each run also has a human-readable,[ non-unique identifier known as a *run name*]({{< relref "#name-your-run" >}}). You can specify a name for your run or let W&B randomly generate one for you.
Each run also has a human-readable, non-unique identifier known as a [*run name*]({{< relref "#name-your-run" >}}). You can specify a name for your run or let W&B randomly generate one for you. You can rename a run after initializing it.

For example, consider the proceeding code snippet:

Expand Down Expand Up @@ -168,17 +168,20 @@ run.finish()
```
{{% /alert %}}

If you [group runs]({{< relref "grouping.md" >}}) into experiments, you can move it into or out of a group or from one group to another.

Each run has a state that describes the current status of the run. See [Run states]({{< relref "#run-states" >}}) for a full list of possible run states.

## Run states
The proceeding table describes the possible states a run can be in:

| State | Description |
| ----- | ----- |
| Finished| Run ended and fully synced data, or called `wandb.finish()` |
| Failed | Run ended with a non-zero exit status |
| Crashed | Run stopped sending heartbeats in the internal process, which can happen if the machine crashes |
| Running | Run is still running and has recently sent a heartbeat |
| `Crashed` | Run stopped sending heartbeats in the internal process, which can happen if the machine crashes. |
| `Failed` | Run ended with a non-zero exit status. |
| `Finished`| Run ended and fully synced data, or called `wandb.finish()`. |
| `Killed` | Run was forcibly stopped before it could finish. |
| `Running` | Run is still running and has recently sent a heartbeat. |


## Unique run identifiers
Expand Down Expand Up @@ -236,6 +239,30 @@ import wandb
run = wandb.init(entity="<project>", project="<project>", name="<run-name>")
```

### Rename a run

After it is initialized, you can rename a run from your workspace or its **Runs** page.

1. Navigate to your W&B project.
1. Select the **Workspace** or **Runs** tab from the project sidebar.
1. Search or scroll to the run you want to rename.

Hover over the run name, click the three vertical dots, then click **Rename run**.
1. Type a new name for the run. To generate a new random name, leave the field blank.
1. Submit the form. The run's new name displays.

You can also rename a run from a run set in a [report]({{< relref "/guides/core/reports/edit-a-report.md" >}}):

1. In the report, click the pencil icon to open the report editor.
1. In the run set, find the run to rename. Hover over the report name, click the three vertical dots, then select either:

- **Rename run for project**: rename the run across the entire project. To generate a new random name, leave the field blank.
- **Rename run for panel grid** rename the run only in the report, preserving the existing name in other contexts. Generating a new random name is not supported.

Submit the form.
1. Click **Publish report**.


## Add a note to a run
Notes that you add to a specific run appear on the run page in the **Overview** tab and in the table of runs on the project page.

Expand All @@ -245,7 +272,6 @@ Notes that you add to a specific run appear on the run page in the **Overview**
4. Choose the **Overview** tab
5. Select the pencil icon next to the **Description** field and add your notes


## Stop a run
Stop a run from the W&B App or programmatically.

Expand Down Expand Up @@ -305,8 +331,6 @@ To view a specific run:
3. Within the project sidebar, select the **Workspace** tab.
4. Within the run selector, click the run you want to view, or enter a partial run name to filter for matching runs.

By default, long run names are truncated in the middle for readability. To truncate run names at the beginning or end instead, click the action `...` menu at the top of the list of runs, then set **Run name cropping** to crop the end, middle, or beginning.

Note that the URL path of a specific run has the proceeding format:

```text
Expand All @@ -315,6 +339,32 @@ https://wandb.ai/<team-name>/<project-name>/runs/<run-id>

Where values enclosed in angle brackets (`< >`) are placeholders for the actual values of the team name, project name, and run ID.

### Customize how runs are displayed
You can customize how runs are displayed in your project from the **Workspace** or **Runs** tab, which share display settings.

To customize which columns are visible:
1. Above the list of runs, click **Columns**.
1. Click the name of a hidden column to show it. Click the name of a visible column to hide it.

You can optionally search by column name using fuzzy search, an exact match, or regular expressions. Drag columns to change their order.
1. Click **Done** to close the column browser.

To sort the list of runs by any visible column:

1. Hover over the column name, then click its action `...` menu.
1. Click **Sort ascending** or **Sort descending**.

Pinned columns are shown on the right-hand side. To pin or unpin a column:
1. Hover over the column name, then click its action `...` menu.
1. Click **Pin column** or **Unpin column**.

By default, long run names are truncated in the middle for readability. To customize the truncation of run names:

1. Click the action `...` menu at the top of the list of runs.
1. Set **Run name cropping** to crop the end, middle, or beginning.

[Learn more about the **Runs** tab]({{< relref "/guides/models/track/project-page.md#runs-tab" >}}).

### Overview tab
Use the **Overview** tab to learn about specific run information in a project, such as:

Expand Down Expand Up @@ -415,7 +465,12 @@ Group all rows by the value in a particular column with the **Group by** button

{{< img src="/images/data_vis/group.png" alt="The truth distribution shows small errors: 8s and 2s are confused for 7s and 9s for 2s." >}}

By default, this turns other numeric columns into histograms showing the distribution of values for that column across the group. Grouping is helpful for understanding higher-level patterns in your data.
By default, this turns other numeric columns into histograms showing the distribution of values for that column across the group. Grouping is helpful for understanding higher-level patterns in your data.

{{% alert %}}
The **Group by** feature is distinct from a [run's run group]({{< relref "grouping.md" >}}). You can group runs by run group. To move a run to a different run group, refer to [Assign a group or job type to a run]({{< relref "#assign-a-group-or-job-type-to-a-run" >}}).
{{% /alert %}}

{{% /tab %}}
{{< /tabpane >}}

Expand Down
55 changes: 52 additions & 3 deletions content/guides/models/track/runs/grouping.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Group individual jobs into experiments by passing a unique **group** name to **w
2. **Multiple processes**: Group multiple smaller processes together into an experiment.
3. **K-fold cross-validation**: Group together runs with different random seeds to see a larger experiment. Here's [an example](https://github.com/wandb/examples/tree/master/examples/wandb-sweeps/sweeps-cross-validation) of k-fold cross-validation with sweeps and grouping.

There are three ways to set grouping:
There are several ways to set grouping:

### 1. Set group in your script

Expand All @@ -25,9 +25,58 @@ Pass an optional group and job_type to wandb.init(). This gives you a dedicated

Use `WANDB_RUN_GROUP` to specify a group for your runs as an environment variable. For more on this, check our docs for [**Environment Variables**]({{< relref "/guides/models/track/environment-variables.md" >}})**. Group** should be unique within your project and shared by all runs in the group. You can use `wandb.util.generate_id()` to generate a unique 8 character string to use in all your processes— for example, `os.environ["WANDB_RUN_GROUP"] = "experiment-" + wandb.util.generate_id()`

### 3. Toggle grouping in the UI
### 3. Set a group in the UI

You can dynamically group by any config column. For example, if you use `wandb.config` to log batch size or learning rate, you can then group by those hyperparameters dynamically in the web app.
To set a run's group in the UI:

After a run is initialized, you can move it to a new group from your workspace or its **Runs** page.

1. Navigate to your W&B project.
1. Select the **Workspace** or **Runs** tab from the project sidebar.
1. Search or scroll to the run you want to rename.

Hover over the run name, click the three vertical dots, then click **Move to another group**.
1. To create a new group, click **New group**. Type a group name, then submit the form.
1. Select the run's new group from the list, then click **Move**.

### 4. Toggle grouping by columns in the UI

You can dynamically group by any column, including a column that is hidden. For example, if you use `wandb.config` to log batch size or learning rate, you can then group by those hyperparameters dynamically in the web app. The **Group by** feature is distinct from a [run's run group]({{< relref "grouping.md" >}}). You can group runs by run group. To move a run to a different run group, refer to [Set a group in the UI]({{< relref "#set-a-group-in-the-ui" >}}).

{{% alert title='optional_title' %}}
In the list of runs, the **Group** column is hidden by default.
{{% /alert %}}

To group runs by one or more columns:

1. Click **Group**.
1. Click the names of one or more columns.
1. If you selected more than one column, drag them to change the grouping order.
1. Click anywhere outside of the form to dismiss it.

### Customize how runs are displayed
You can customize how runs are displayed in your workspace from the **Workspace** or **Runs** tab, which share display settings.

To customize which columns are visible:
1. Above the list of runs, click **Columns**.
1. Click the name of a hidden column to show it. Click the name of a visible column to hide it.

You can optionally search by column name using fuzzy search, an exact match, or regular expressions. Drag columns to change their order.
1. Click **Done** to close the column browser.

To sort the list of runs by any visible column:

1. Hover over the column name, then click its action `...` menu.
1. Click **Sort ascending** or **Sort descending**.

Pinned columns are shown on the right-hand side. To pin or unpin a column:
1. Hover over the column name, then click its action `...` menu.
1. Click **Pin column** or **Unpin column**.

By default, long run names are truncated in the middle for readability. To customize the truncation of run names:

1. Click the action `...` menu at the top of the list of runs.
1. Set **Run name cropping** to crop the end, middle, or beginning.

## Distributed training with grouping

Expand Down
11 changes: 4 additions & 7 deletions content/guides/models/track/runs/manage-runs.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ menu:
parent: what-are-runs
title: Move runs
---

Move runs between your projects or to a team you are a member of.

To customize the **Runs** tab, refer to [Project page]({{< relref "/guides/models/track/project-page.md#runs-tab" >}}).

If you group runs into experiments, refer to [Set a group in the UI]({{< relref "grouping.md#set-a-group-in-the-ui" >}}).

## Move runs between your projects

To move runs from one project to another:
Expand All @@ -20,11 +21,7 @@ To move runs from one project to another:
4. Choose the **Move** button above the table.
5. Select the destination project from the dropdown.



{{< img src="/images/app_ui/howto_move_runs.gif" alt="" >}}


{{< img src="/images/app_ui/howto_move_runs.gif" alt="Demo of moving a run between projects" >}}

## Move runs to a team

Expand All @@ -36,4 +33,4 @@ Move runs to a team you are a member of:
4. Choose the **Move** button above the table.
5. Select the destination team and project from the dropdown.

{{< img src="/images/app_ui/demo_move_runs.gif" alt="" >}}
{{< img src="/images/app_ui/demo_move_runs.gif" alt="Demo of moving a run to a team" >}}