clearml-docs/docs/webapp/webapp_exp_tuning.md

205 lines
8.3 KiB
Markdown
Raw Normal View History

2021-05-13 23:48:51 +00:00
---
title: Tuning Experiments
2021-05-13 23:48:51 +00:00
---
Tune experiments and edit an experiment's execution details, then execute the tuned experiments on local or remote machines.
2021-09-09 10:17:46 +00:00
## To Tune an Experiment and Execute it Remotely:
2021-05-13 23:48:51 +00:00
1. Locate the experiment. Open the experiment's Project page from the Home page or the main Projects page.
2021-05-23 20:17:12 +00:00
* On the Home page,
2021-05-13 23:48:51 +00:00
* Click on an experiment from RECENT EXPERIMENTS
* In RECENT PROJECTS **>** click on a project card **>** click experiment
* In RECENT PROJECTS **>** click **VIEW ALL** **>** click the project card **>** click experiment
* On the Projects page, click project card, or the **All projects** card **>** click experiment
2021-05-23 20:17:12 +00:00
2021-05-13 23:48:51 +00:00
1. Clone the experiment. In the experiments table:
2021-05-23 20:17:12 +00:00
1. Click **Clone**, and a **Clone experiment** box will pop up.
1. In the **Project** textbox, select or create a project. To search for another project, start typing the project name.
2021-05-13 23:48:51 +00:00
To create a new project, type new experiment name and click **Create New**.
1. Enter an optional description.
1. Click **CLONE**.
The cloned experiment's status is now *Draft*.
2021-05-23 20:17:12 +00:00
2021-05-13 23:48:51 +00:00
1. Edit the experiment. See [modifying experiments](#modifying-experiments).
2021-05-23 20:17:12 +00:00
1. Enqueue the experiment for execution. Right click the experiment **>** **Enqueue** **>** Select a queue **>**
**ENQUEUE**.
The experiment's status becomes *Pending*. When the worker assigned to the queue fetches the Task (experiment), the
2021-05-13 23:48:51 +00:00
status becomes *Running*. The experiment can now be tracked and its results visualized.
2021-05-23 20:17:12 +00:00
2021-09-09 10:17:46 +00:00
## Modifying Experiments
2021-05-13 23:48:51 +00:00
2021-05-23 20:17:12 +00:00
Experiments whose status is *Draft* are editable (see the [user properties](#user-properties) exception). In the **ClearML
2021-05-13 23:48:51 +00:00
Web UI**, edit any of the following
* [Source code](#source-code)
2021-05-23 20:17:12 +00:00
* [Output destination for artifacts](#output-destination)
2021-05-13 23:48:51 +00:00
* [Base Docker image](#base-docker-image)
* [Log level](#log-level)
* [Hyperparameters](#hyperparameters) - Parameters, TensorFlow Definitions, command line options, environment variables, and user-defined properties
:::note
2021-05-23 20:17:12 +00:00
User parameters are editable in any experiment, except experiments whose status is *Published* (read-only).
2021-05-13 23:48:51 +00:00
:::
* [Configuration objects](#configuration-objects) - Task model description
* [Initial weight input model](#initial-weights-input-model)
* [Output destination for artifacts storage](#output-destination)
2021-09-09 10:17:46 +00:00
### Execution Details
2021-05-13 23:48:51 +00:00
2021-09-09 10:17:46 +00:00
#### Source Code
2021-05-13 23:48:51 +00:00
2021-05-23 20:17:12 +00:00
Select source code by changing any of the following:
2021-05-13 23:48:51 +00:00
* Repository, commit (select by ID, tag name, or choose the last commit in the branch), script, and /or working directory.
* Installed Python packages and / or versions - Edit or clear (remove) them all.
* Uncommitted changes - Edit or clear (remove) them all.
**To select different source code:**
2021-05-23 20:17:12 +00:00
* In the **EXECUTION** tab, hover over a section **>** **EDIT** or (**DISCARD DIFFS** for **UNCOMMITTED CHANGES**) **>**
2021-05-13 23:48:51 +00:00
edit **>** **SAVE**.
2021-09-09 10:17:46 +00:00
#### Base Docker Image
2021-12-28 10:52:15 +00:00
Select a pre-configured Docker that **ClearML Agent** will use to remotely execute this experiment (see [Building Docker containers](../clearml_agent.md#exporting-a-task-into-a-standalone-docker-container)).
2021-05-13 23:48:51 +00:00
**To add, change, or delete a base Docker image:**
2021-05-23 20:17:12 +00:00
* In **EXECUTION** **>** **AGENT CONFIGURATION** **>** **BASE DOCKER IMAGE** **>** hover **>** **EDIT** **>**
2021-05-13 23:48:51 +00:00
Enter the base Docker image.
2021-09-09 10:17:46 +00:00
#### Output Destination
2021-05-13 23:48:51 +00:00
2021-05-23 20:17:12 +00:00
Set an output destination for model checkpoints (snapshots) and other artifacts. Examples of supported types of destinations
2021-05-13 23:48:51 +00:00
and formats for specifying locations include:
* A shared folder: `/mnt/share/folder`
* S3: `s3://bucket/folder`
* Google Cloud Storage: `gs://bucket-name/folder`
* Azure Storage: `azure://company.blob.core.windows.net/folder/`
**To add, change, or delete an artifact output destination:**
2021-05-23 20:17:12 +00:00
* In **EXECUTION** **>** **OUTPUT** > **DESTINATION** **>** hover **>** **EDIT** **>** edit **>** **SAVE**.
2021-05-13 23:48:51 +00:00
2021-10-21 06:42:11 +00:00
:::note Set Output Destination for Artifacts
2021-05-23 20:17:12 +00:00
Also set the output destination for artifacts in code (see the `output_uri` parameter of the
2021-10-21 06:42:11 +00:00
[Task.init](../references/sdk/task.md#taskinit)
method), and in the **ClearML** configuration file
2021-12-28 10:52:15 +00:00
for all experiments (see [default_output_uri](../configs/clearml_conf.md#config_default_output_uri)
2021-05-13 23:48:51 +00:00
on the **ClearML** Configuration Reference page).
:::
2021-09-09 10:17:46 +00:00
#### Log Level
2021-05-13 23:48:51 +00:00
2021-05-23 20:17:12 +00:00
Set a logging level for the experiment (see the standard Python [logging levels](https://docs.python.org/3/howto/logging.html#logging-levels)).
2021-05-13 23:48:51 +00:00
**To add, change, or delete a log level:**
* In **EXECUTION** **>** **OUTPUT** **>** **LOG LEVEL** **>** hover **>** **EDIT** **>** Enter the log level.
### Configuration
#### Hyperparameters
2021-05-23 20:17:12 +00:00
:::important
In older versions of **ClearML Server**, the **CONFIGURATION** tab was named **HYPER PARAMETERS**, and it contained all
2021-05-13 23:48:51 +00:00
parameters. The renamed tab contains a **HYPER PARAMETER** section, and subsections for hyperparameter groups.
:::
Add, change, or delete hyperparameters, which are organized in the **ClearML Web UI** in the following sections:
2021-05-23 20:17:12 +00:00
* **Args** - Command line arguments and all older experiments parameters, except TensorFlow definitions (logged from code,
2021-05-13 23:48:51 +00:00
`argparse` argument automatic logging).
* **TF_DEFINE** - TensorFlow definitions (from code, TF_DEFINEs automatic logging).
* **General** - Parameter dictionaries (from code, connected to the Task by calling the [Task.connect](../references/sdk/task.md#connect)
2021-12-22 08:54:04 +00:00
method).
2021-05-13 23:48:51 +00:00
* Environment variables - Tracked if the `CLEARML_LOG_ENVIRONMENT` environment variable was set (see this [FAQ](../faq#track-env-vars)).
* Custom named parameter groups (see the `name` parameter in [Task.connect](../references/sdk/task.md#connect)).
2021-05-13 23:48:51 +00:00
**To add, change, or delete hyperparameters:**
2021-05-23 20:17:12 +00:00
* In the **CONFIGURATIONS** tab **>** **HYPER PARAMETERS** > **General** **>** hover **>** **EDIT** **>** add, change,
2021-05-13 23:48:51 +00:00
or delete keys and /or values **>** **SAVE**.
2021-09-09 10:17:46 +00:00
#### User Properties
2021-05-13 23:48:51 +00:00
2021-05-23 20:17:12 +00:00
User properties allow storing any descriptive information in key-value pair format. They are editable in any experiment,
2021-05-13 23:48:51 +00:00
except experiments whose status is *Published* (read-only).
**To add, change, or delete user properties:**
2021-05-23 20:17:12 +00:00
* In **CONFIGURATIONS** **>** **USER PROPERTIES** > **Properties** **>** hover **>** **EDIT** **>** add, change, or delete
2021-05-13 23:48:51 +00:00
keys and /or values **>** **SAVE**.
2021-09-09 10:17:46 +00:00
#### Configuration Objects
2021-05-13 23:48:51 +00:00
:::important
2021-05-23 20:17:12 +00:00
In older versions of **ClearML Server**, the Task model configuration appeared in the **ARTIFACTS** tab **>** **MODEL
2021-05-13 23:48:51 +00:00
CONFIGURATION** section. Task model configurations now appear in **CONFIGURATION** **>** **Configuration Objects**.
:::
**To add, change, or delete the Task model configurations:**
2021-05-23 20:17:12 +00:00
* In **CONFIGURATIONS** **>** **CONFIGURATION OBJECTS** **>** **GENERAL** **>** hover **>** **EDIT** or **CLEAR** (if the
2021-05-13 23:48:51 +00:00
configuration is not empty).
### Artifacts
2021-09-09 10:17:46 +00:00
### Initial Weights Input Model
2021-05-13 23:48:51 +00:00
2021-05-23 20:17:12 +00:00
Edit model configuration and label enumeration, choose a different initial input weight model for the same project or any
other project, or remove the model.
2021-05-13 23:48:51 +00:00
:::note
2021-05-23 20:17:12 +00:00
The models are editable in the **MODELS** tab, not the **EXPERIMENTS** tab. Clicking the model name hyperlink shows the
2021-05-13 23:48:51 +00:00
model in the **MODELS** tab.
:::
**To select a different model:**
1. In **ARTIFACTS** **>** **Input Model** **>** Hover and click **EDIT**.
2021-05-23 20:17:12 +00:00
1. If a model is associated with the experiment, click <img src="/docs/latest/icons/ico-edit.svg" alt="Edit Pencil" className="icon size-md" />.
2021-05-13 23:48:51 +00:00
1. In the **SELECT MODEL** dialog, select a model from the current project or any other project.
**To edit a model's configuration or label enumeration:**
1. Click the model name hyperlink. The model details appear in the **MODELS** tab.
1. Edit the model configuration or label enumeration.
2021-05-23 20:17:12 +00:00
* Model configuration - In the **NETWORK** tab **>** Hover and click **EDIT**. **>** CLick **EDIT** or **CLEAR** (to
2021-12-22 08:54:04 +00:00
remove the configuration).
2021-05-13 23:48:51 +00:00
2021-05-23 20:17:12 +00:00
Users can also search for the configuration (hover over the configuration textbox, the search box appears) and copy the
configuration to the clipboard (hover and click <img src="/docs/latest/icons/ico-clipboard.svg" alt="Copy Clipboard" className="icon size-md" />).
* Label enumeration - In the **LABELS** tab **>** Hover and click **EDIT** **>** Add, change, or delete label
2021-05-13 23:48:51 +00:00
enumeration key-value pairs.
2021-05-23 20:17:12 +00:00
**To remove a model from an experiment:**
* Hover and click **EDIT** **>** Click <img src="/docs/latest/icons/ico-trash.svg" alt="Trash" className="icon size-md" />