clearml-docs/docs/webapp/webapp_exp_table.md

21 KiB
Raw Permalink Blame History

title
The Task Table

The task table is a customizable list of tasks associated with a project. From the tasks table, view task details, and work with tasks (reset, clone, enqueue, create tracking leaderboards to monitor experimentation, and more). The task table's auto-refresh lets users continually monitor task progress.

View the tasks in table view Table view, details view Details view, or comparison view Comparison view using the buttons on the top left of the page. Use the table view for a comparative view of your tasks according to columns of interest. Use the details view to access a selected task's details, while keeping the task list in view. Details view can also be accessed by double-clicking a specific task in the table view to open its details view. Use the comparison view to compare your tasks' scalar and plot results (for a more in depth comparison, see Comparing Tasks). This view compares the scalars/plots of currently selected tasks. If no tasks are selected, the first 100 visible tasks in the table are compared.

You can archive tasks so the table doesn't get too cluttered. Click OPEN ARCHIVE on the top of the table to open the archive and view all archived tasks. From the archive, you can restore tasks to remove them from the archive. You can also permanently delete tasks.

You can download the task table as a CSV file by clicking Download and choosing one of these options:

  • Download onscreen items - Download the values for tasks currently visible on screen
  • Download all items - Download the values for all tasks in this project that match the current active filters

The downloaded data consists of the currently displayed table columns.

Task table

Creating Tasks

You can create tasks by:

To create a task through the UI interface:

  1. Click + New Task
  2. In the Create Task modal, input the following information:
    • Code - What this task is going to run

      • Task name
      • Git - Optional fields for checking out the code from a git repository:
        • Repository URL
        • Version specification - one of the following:
          • Tag
          • Branch
          • Commit ID
      • Entry Point - The code to run
        • Working Directory
        • Script type - Python/Shell
        • Binary - The binary executing the script (e.g. python3, bash etc).
        • Type How the code is provided
          • Script - The name of the file to run using the above specified binary
          • Module - The name of a python module to run (Python only, see Python module specification)
          • Custom code - Directly provide the code to run. Write code, or upload a file:
            • File name - The script in which your code is stored. Click Upload to upload an existing file.
            • Content - The actual code. Click Edit to modify the scripts contents.
        • Add Task.init call (Python only) - If selected, a Task.init() call is automatically added to your script (Use if if you script does not yet make use of ClearML)
    • Arguments (optional) - Add hyperparameter values.

    • Environment (optional) - Set up the tasks execution environment

      • Python - Python environment settings
        • Use Poetry - Force Poetry instead of pip package manager. Disables additional python settings.
        • Preinstalled venv - The name of a virtual environment available in the tasks execution environment to use when running the task. Additionally, specify how to use the virtual environment:
          • Skip - Try to automatically detect an available virtual environment, and use it as is.
          • Use requirements.txt file - Install packages from a requirements.txt file into the specified virtual environment.
          • Specify Packages - Install the specified packages into the specified virtual environment
      • Environment Variables - Set these environment variables when running the task
    • Container (optional) - Specify container configuration for executing the task

      • Image - Image to use for running the task

      • Arguments - Add container arguments as a single string

      • Startup Script - Add a bash script to be executed inside the container before setting up the task's environment

        :::important For a task to run in the specified container, the ClearML Agent executing the task must be running in Docker mode:

        clearml-agent daemon --queue <execution_queue_to_pull_from> --docker
        

        For more information, see Docker Mode. :::

    • Run

      • Queue - ClearML Queue where the task should be enqueued for execution
      • Output Destination - A URI where task outputs should be stored (ClearML file server by default).
  3. Once you have input all the information, click one of the following options
    • Save as Draft - Save the task as a new draft.
    • Run - Enqueue the task for execution in the queue specified in the Run tab

Once you have completed the task creation wizard, the task will be saved in your current project (where you clicked + New Task). See what you can do with your task in Task Actions.

Task Table Columns

The task table default and customizable columns are described in the following table.

Column Description Type
TYPE Type of task. ClearML supports multiple task types for experimentation, and a variety of workflows and use cases. Default
NAME Task name. Default
TAGS Descriptive, user-defined, color-coded tags assigned to tasks. Use tags to classify tasks, and filter the list. See tagging tasks. Default
STATUS Task state (status). See a list of the task states and state transitions. If you programmatically set task progress values, you will also see a progress indicator for Running, Failed, and Aborted tasks. See here. Default
PROJECT Name of task's project. Default
USER User who created or cloned the task. Default (hidden)
STARTED Elapsed time since the task started. To view the date and time of start, hover over the elapsed time. Default
UPDATED Elapsed time since the last update to the task. To view the date and time of update, hover over the elapsed time. Default
ITERATION Last or most recent iteration of the task. Default
DESCRIPTION A description of the task. For cloned tasks, the description indicates it was auto generated with a timestamp. Default (hidden)
RUN TIME The current / total running time of the task. Default (hidden)
Metrics Add metrics column (last, minimum, and/or maximum values). The metrics depend upon the tasks in the table. See adding metrics. Customizable
Hyperparameters Add hyperparameters. The hyperparameters depend upon the tasks in the table. See adding hyperparameters. Customizable

Customizing the Task Table

Customize the table using any of the following:

  • Dynamic column order - Drag a column title to a different position.
  • Resize columns - Drag the column separator to change the width of that column. Double-click the column separator for automatic fit.
  • Changing table columns
    • Show / hide columns - Click Setting Gear > mark or clear the checkboxes of columns to show or hide.
    • Add custom columns - Click + METRICS or + HYPERPARAMETERS to add metric / hyperparameter columns to the main column list. Added columns are by default displayed in the table. You can remove the custom columns from the main column list or the column addition windows.
  • Filter columns
  • Sort columns - According to metrics and hyperparameters, type of task, task name, start and last update elapsed time, and last iteration.

Use task table customization for various use cases, including:

  • Creating a leaderboard that will update in real time with task performance, which can be shared and stored.
  • Sorting models by metrics - Models are associated with the tasks that created them. For each metric, use the last value, the minimal value, and/or the maximal value.
  • Tracking hyperparameters - Track hyperparameters by adding them as columns, and applying filters and sorting.

Changes are persistent (cached in the browser), and represented in the URL so customized settings can be saved in a browser bookmark and shared with other ClearML users to collaborate.

:::note The following task-table customizations are saved on a per-project basis:

  • Columns order
  • Column width
  • Active sort order
  • Active filters
  • Custom columns

If a project has subprojects, the tasks can be viewed by their subproject groupings or together with all the tasks in the project. The customizations of these two views are saved separately. :::

Adding Metrics and/or Hyperparameters

Task table customization gif

Add metrics and/or hyperparameters columns to the task table. The metrics and hyperparameters depend upon the tasks in the table.

To Add Metrics:

  • Click Setting Gear > + METRICS > Expand a metric > Select the LAST (value), MIN (minimal value), and/or MAX (maximal value) checkboxes.

To Add Hyperparameters:

  • Click Setting Gear > + HYPERPARAMETERS > Expand a section > Select the hyperparameter checkboxes.

:::note Float Values Display By default, the task table displays rounded up float values. Hover over a float to view its precise value in the tooltip that appears. To view all precise values in a column, hover over a float and click Expand.
:::

Filtering Columns

Filtering table gif

Filters can be applied by clicking Filter on a column, and the relevant filter appears.

There are a few types of filters:

  • Value set - Choose which values to include from a list of all values in the column
  • Numerical ranges - Insert minimum and/or maximum value
  • Date ranges - Insert starting and/or ending date and time
  • Tags - Choose which tags to filter by from a list of all tags used in the column.
    • Filter by multiple tag values using the ANY or ALL options, which correspond to the logical "AND" and "OR" respectively. These options appear on the top of the tag list.
    • Filter by the absence of a tag (logical "NOT") by clicking its checkbox twice. An X will appear in the tag's checkbox.

Once a filter is applied to a column, its filter icon will appear with a highlighted dot on its top right (Filter on).

To clear all active filters, click Clear filters in the top right corner of the table.

Task Actions

The following table describes the actions that can be done from the task table, including the states that allow each operation.

Access these actions in any of the following ways:

  • In the task table, right-click a task or hover over a task and click Dot menu to open the context menu
  • In a task info panel, click the menu button Bar menu
  • Through the batch action bar: available at screen bottom when multiple tasks are selected
Action Description States Valid for the Action State Transition
Details Open the task's info panel (keeps the tasks list in view). Can also be accessed by double-clicking a task in the task table. Any state None
View Full Screen View task details in full screen. Any state None
Manage Queue If a task is Pending in a queue, view the utilization of that queue, manage that queue (remove tasks and change the order of tasks), and view information about the worker(s) listening to the queue. See the Orchestration page. Enqueued None
View Worker If a task is Running, view resource utilization, worker details, and queues to which a worker is listening. Running None
Share For ClearML Hosted Service users only, share a task and its model with a ClearML Hosted Service user in another workspace. Any state None
Archive Move task to the project's archive. If it is shared (ClearML Hosted Service only), the task becomes private. Any state Pending to Draft
Restore Action available in the archive. Restore a task to the active task table. Any State None
Delete Action available in the archive. Delete a task, which will also remove all their logs, results, artifacts and debug samples. Any State N/A
Enqueue Add a task to a queue for a worker or workers (listening to the queue) to execute. Draft, Aborted Pending
Dequeue Remove a task from a queue. Pending Draft
Reset Delete the log and output from a previous run of a task (for example, before rerunning it). Completed, Aborted, or Failed Draft
Abort Manually terminate a Running task. Running Aborted
Abort All Children Manually terminate all Running tasks which have this task as a parent Running or Aborted None for parent task, Aborted for child tasks
Retry Enqueue a failed task in order to rerun it. Make sure you have resolved the external problem which previously prevented the tasks completion. Failed Pending
Publish Publish a task to prevent changes to its tracking data, inputs, and outputs. Published tasks and their models are read-only. Published tasks cannot be enqueued, but they can be cloned, and their clones can be edited, tuned, and enqueued. Completed, Aborted, or Failed. Published
Add Tag Tag tasks with color-coded labels to assist you in organizing your work. See tagging tasks. Any state None
Clone Make an exact, editable copy of a task (for example, to reproduce a task, but keep the original). Draft Newly cloned task is Draft
Move to Project Move a task to another project. Any state None
Compare Compare selected tasks (see Comparing Tasks) Any state None

:::important Enterprise Feature The ClearML Enterprise Server provides a mechanism to define your own custom actions, which will appear in the context menu. Create a custom action by defining an HTTP request to issue when clicking on the context menu action. For more information see Custom UI Context Menu Actions. :::

Most of the actions mentioned in the chart above can be performed on multiple tasks at once. Select multiple tasks, then use either the context menu, or the batch action bar that appears at the bottom of the page, to perform operations on the selected tasks. Actions can be performed only on the tasks that match the action criteria (for example, only Running tasks can be aborted). The context menu shows the number of tasks that can be affected by each action. The same information can be found in the batch action bar, in a tooltip that appears when hovering over an action icon.

Task table batch operations

Selecting Multiple Tasks

Select multiple tasks by clicking the checkbox on the left of each relevant task. Clear any existing selection by clicking the checkbox in the top left corner of the table.

Click the checkbox in the top left corner of the table to select all items currently visible.

An extended bulk selection tool is available through the down arrow next to the checkbox in the top left corner, enabling selecting items beyond the items currently on-screen:

  • All - Select all tasks in the project
  • None - Clear selection
  • Filtered - Select all tasks in the project that match the current active filters in the project

Comparing Tasks

The comparison view compares task scalar and plot results (for a more in depth comparison, see Comparing Experiments). When selected, the view presents a comparison of all selected tasks. If no tasks are selected, the first 100 visible tasks in the table are displayed in the comparison.

In the dropdown menu, select to view Scalars or Plots.

Scalars shows task scalar results as time series line graphs.

Merged comparison plots

All single value scalars are plotted into a single clustered bar chart under the "Summary" title, where each cluster represents a reported metric, and each bar in the cluster represents a task.

Single scalar comparison

Click Setting Gear to customize which metrics to view.

Click Tune to access scalar plot tools.

Plots shows the last reported iteration sample of each metric/variant combination per compared task.

Line, scatter, box, and bar graphs are compared by overlaying each metric/variant from all compared tasks' into a single comparative plot.

Merged comparison plots

Other plot types are displayed separately for each task.

Separate comparison plots

Creating a Task Leaderboard

Filter and sort the tasks of any project to create a leaderboard that can be shared and stored. This leaderboard updates in real time with task performance and outputs.

Modify the task table in the following ways to create a customized leaderboard:

  • Add task configuration (hyperparameters)
  • Edit and add task properties
  • Add reported metrics, any time series reported metric can be selected, then select the last reported value, or the minimum / maximum reported value.
  • Filter based on user (dropdown and select) or task types
  • Add specific tags and filter based on them.

Now the table can be sorted based on any of the columns (probably one of the performance metrics). Select to filter tasks based on their name by using the search bar.

The final dashboard can be shared by copying the URL from the address bar, this address will replicate the exact same dashboard on any browser. The dashboard can also be bookmarked for later use.

Task table sharing