diff --git a/content/guides/core/reports/edit-a-report.md b/content/guides/core/reports/edit-a-report.md index ca0ef9bae..9307298e3 100644 --- a/content/guides/core/reports/edit-a-report.md +++ b/content/guides/core/reports/edit-a-report.md @@ -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"%}} diff --git a/content/guides/models/track/runs/_index.md b/content/guides/models/track/runs/_index.md index c4b6f8e55..5da12c224 100644 --- a/content/guides/models/track/runs/_index.md +++ b/content/guides/models/track/runs/_index.md @@ -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: @@ -168,6 +168,8 @@ 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 @@ -175,10 +177,11 @@ 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 @@ -236,6 +239,30 @@ import wandb run = wandb.init(entity="", project="", 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. @@ -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. @@ -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 @@ -315,6 +339,32 @@ https://wandb.ai///runs/ 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: @@ -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 >}} diff --git a/content/guides/models/track/runs/grouping.md b/content/guides/models/track/runs/grouping.md index 2657e5930..18faff645 100644 --- a/content/guides/models/track/runs/grouping.md +++ b/content/guides/models/track/runs/grouping.md @@ -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 @@ -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 diff --git a/content/guides/models/track/runs/manage-runs.md b/content/guides/models/track/runs/manage-runs.md index d3f050138..24c3c6965 100644 --- a/content/guides/models/track/runs/manage-runs.md +++ b/content/guides/models/track/runs/manage-runs.md @@ -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: @@ -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 @@ -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="" >}} \ No newline at end of file +{{< img src="/images/app_ui/demo_move_runs.gif" alt="Demo of moving a run to a team" >}} \ No newline at end of file