Refactor ClearML Agent pages (#312)

This commit is contained in:
pollfly 2022-08-15 17:31:02 +03:00 committed by GitHub
parent de0be44c5e
commit aea7de24e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 581 additions and 547 deletions

View File

@ -1,5 +1,5 @@
--- ---
title: ClearML Agent title: ClearML Agent Overview
--- ---
**ClearML Agent** is a virtual environment and execution manager for DL / ML solutions on GPU machines. It integrates with the **ClearML Python Package** and ClearML Server to provide a full AI cluster solution. <br/> **ClearML Agent** is a virtual environment and execution manager for DL / ML solutions on GPU machines. It integrates with the **ClearML Python Package** and ClearML Server to provide a full AI cluster solution. <br/>
@ -33,7 +33,7 @@ automated workflows in one (or both) of the following ways:
* By using the **ClearML Web UI** (without directly working with code), by enqueuing experiments * By using the **ClearML Web UI** (without directly working with code), by enqueuing experiments
to the queue that a **ClearML Agent** is listening to. to the queue that a **ClearML Agent** is listening to.
For more information, see [ClearML Agent Reference](references/clearml_agent_ref.md), For more information, see [ClearML Agent Reference](clearml_agent/clearml_agent_ref.md),
and [configuration options](configs/clearml_conf.md#agent-section). and [configuration options](configs/clearml_conf.md#agent-section).

View File

@ -0,0 +1,141 @@
---
title: build
---
This reference page provides detailed information about ClearML Agent's `build` subcommand, which you can use to create
a worker environment without executing the experiment.
## Syntax
```bash
clearml-agent build [-h] --id TASK_ID [--target TARGET]
[--install-globally]
[--docker [DOCKER [DOCKER ...]]] [--force-docker]
[--python-version PYTHON_VERSION]
[--entry-point {reuse_task,clone_task}] [-O]
[--git-user GIT_USER] [--git-pass GIT_PASS]
[--log-level {DEBUG,INFO,WARN,WARNING,ERROR,CRITICAL}]
[--gpus GPUS] [--cpu-only]
```
## Arguments
---
**`id`**
(*mandatory*)
* Build a worker environment for this Task ID.
---
**`cpu-only`**
* Disable GPU access for the Docker container.
---
**`docker`**
* Docker mode. A Docker container that a worker will execute at launch.
To specify the image name and optional arguments, either:
* Use `--docker <image_name> <args>` on the command line, or
* Use `--docker` on the command line, and specify the image name and arguments in the configuration file.
Environment variable settings for Dockers:
* `CLEARML_DOCKER_SKIP_GPUS_FLAG` - Ignore the `gpus` flag inside the Docker container. This also allows you to execute **ClearML Agent** using Docker versions earlier than 19.03.
* `NVIDIA_VISIBLE_DEVICES` - Limit GPU visibility for the Docker container.
* `CLEARML_AGENT_GIT_USER` and `CLEARML_AGENT_GIT_PASS` - Pass these credentials to the Docker container at execution.
To limit GPU visibility for Docker, set the `NVIDIA_VISIBLE_DEVICES` environment variable.
---
**`entry-point`**
* Used in conjunction with `--docker`, indicates how to run the Task specified by `task-id` on Docker startup.
The `entry-point` options are:
* `reuse` - Overwrite the existing Task data.
* `clone_task` - Clone the Task, and execute the cloned Task.
---
**`force-docker`**
* Force using the agent-specified docker image (either explicitly in the `--docker` argument or using the agent's
default docker image). If provided, the agent will not use any docker container information stored in the task itself
(default `False`)
---
**`git-pass`**
* Git password for repository access.
---
**`git-user`**
* Git username for repository access.
---
**`gpus`**
* Specify the active GPUs for the Docker containers to use. These are the same GPUs set in the `NVIDIA_VISIBLE_DEVICES` environment variable.
For example:
* `--gpus 0`
* `--gpu 0,1,2`
* `--gpus all`
---
**`h`, `help`**
* Get help for this command.
---
**`install-globally`**
* Install the required Python packages before creating the virtual environment. Use `agent.package_manager.system_site_packages` to control the installation of the system packages. When `--docker` is used, `install-globally` is always true.
---
**`log-level`**
* SDK log level. The values are:
* `DEBUG`
* `INFO`
* `WARN`
* `WARNING`
* `ERROR`
* `CRITICAL`
---
**`python-version`**
* Virtual environment Python version to use.
---
**`O`**
* Compile optimized pyc code (see python documentation). Repeat for more optimization.
---
**`target`**
* The target folder for the virtual environment and source code that will be used at launch.

View File

@ -0,0 +1,12 @@
---
title: config
---
This reference page provides detailed information about ClearML Agent's `config` subcommand, which you can use to
list your ClearML Agent configuration.
## Syntax
```
clearml-agent config [-h]
```

View File

@ -0,0 +1,223 @@
---
title: daemon
---
This reference page provides detailed information about ClearML Agent's `daemon` subcommand, which you can use to
run a worker, optionally in a Docker container, listening to a queue.
## Syntax
```bash
clearml-agent daemon [-h] [--foreground] [--queue QUEUES [QUEUES ...]] [--order-fairness]
[--standalone-mode] [--services-mode [SERVICES_MODE]]
[--child-report-tags CHILD_REPORT_TAGS [CHILD_REPORT_TAGS ...]]
[--create-queue] [--detached] [--stop] [--dynamic-gpus]
[--uptime [UPTIME [UPTIME ...]]] [--downtime [DOWNTIME [DOWNTIME ...]]]
[--status] [--use-owner-token] [-O]
[--git-user GIT_USER] [--git-pass GIT_PASS]
[--log-level {DEBUG,INFO,WARN,WARNING,ERROR,CRITICAL}]
[--gpus GPUS] [--cpu-only]
[--docker [DOCKER [DOCKER ...]]] [--force-current-version]
```
## Arguments
---
**`child-report-tags`**
List of tags to send with the status reports from the worker that executes a task.
---
**`cpu-only`**
* If running in Docker mode (see the `docker` option), disable GPU access for the Docker container or virtual environment.
---
**`create-queue`**
* If the queue name provided does not exist in the server, create and use it.
---
**`detached`**
* Run agent in the background. The `clearml-agent` command returns immediately.
---
**`docker`**
* Run in Docker mode. Execute the Task inside a Docker container.
To specify the image name and optional arguments, either:
* use `--docker <image_name> <args>` on the command line, or
* use `--docker` on the command line, and specify the image name and arguments in the configuration file.
Environment variable settings for Dockers:
* `CLEARML_DOCKER_SKIP_GPUS_FLAG` - Ignore the `gpus` flag inside the Docker container. This also allows you to execute **ClearML Agent** using Docker versions earlier than 19.03.
* `NVIDIA_VISIBLE_DEVICES` - Limit GPU visibility for the Docker container.
* `ClearML_AGENT_GIT_USER` and `ClearML_AGENT_GIT_PASS` - Pass these credentials to the Docker container at execution.
---
**`downtime`**
* Specify downtime for clearml-agent in `<hours> <days>` format.
For example, use `09-13 TUE` to set Tuesday's downtime to 09-13.
:::info
* This feature is available under the ClearML Enterprise plan
* Make sure to have only one of uptime / downtime configuration and not both.
:::
---
**`dynamic-gpus`**
* Allow to dynamically allocate gpus based on queue properties, configure with `--queue <queue_name>=<num_gpus>`.
For example: `--dynamic-gpus --queue dual_gpus=2 single_gpu=1`
:::info Enterprise Feature
This feature is available under the ClearML Enterprise plan
:::
---
**`force-current-version`**
* To use your current version of **ClearML Agent** when running in Docker mode (the `docker` argument is specified),
instead of the latest **ClearML Agent** version which is automatically installed, specify `force-current-version`.
For example, if your current **ClearML Agent** version is `0.13.1`, but the latest version of **ClearML Agent** is
`0.13.3`, use `--force-current-version` and your Task will execute in the Docker container with **ClearML Agent** version `0.13.1`.
---
**`foreground`**
* Pipe full log to stdout/stderr. Do not use this option if running in background.
---
**`git-pass`**
* Git password for repository access.
---
**`git-user`**
* Git username for repository access.
---
**`gpus`**
* If running in Docker mode (see the `docker` option), specify the active GPUs for the Docker containers to use.
These are the same GPUs set in the `NVIDIA_VISIBLE_DEVICES` environment variable.
For example:
* `--gpus 0`
* `--gpu 0,1,2`
* `--gpus all`
---
**`h`, `help`**
* Get help for this command.
---
**`log-level`**
* SDK log level. The values are:
* `DEBUG`
* `INFO`
* `WARN`
* `WARNING`
* `ERROR`
* `CRITICAL`
---
**`O`**
* Compile optimized pyc code (see python documentation). Repeat for more optimization.
---
**`order-fairness`**
* Pull from each queue in a round-robin order, instead of priority order.
---
**`queue`**
* Specify the queues which the worker is listening to. The values can be any combination of:
* One or more queue IDs.
* One or more queue names.
* `default` indicating the default queue.
---
**`services-mode`** <a class="tr_top_negative" name="services_mode"></a>
* Launch multiple long-term docker services. Spin multiple, simultaneous Tasks, each in its own Docker container, on the same machine. Each Task will be registered
as a new node in the system, providing tracking and transparency capabilities. Start up and shutdown of each Docker is
verified. Use in CPU mode (`--cpu-only`), only.
* To limit the number of simultaneous tasks run in services mode, pass the maximum number immediately after the
`--services-mode` option (e.g. `--services-mode 5`)
---
**`standalone-mode`**
* Do not use any network connects. This assumes all requirements are pre-installed.
---
**`status`**
* Print the worker's schedule (uptime properties, server's runtime properties and listening queues)
---
**`stop`**
* Terminate a running ClearML Agent, if other arguments are the same. If no additional arguments are provided, agents are
terminated in lexicographical order.
---
**`uptime`**
* Specify uptime for clearml-agent in `<hours> <days>` format. for example, use `17-20 TUE` to set Tuesday's
uptime to 17-20
:::info
* This feature is available under the ClearML Enterprise plan
* Make sure to have only one of uptime / downtime configuration and not both.
:::
---
**`use-owner-token`**
Generate and use the task owner's token for the execution of the task.

View File

@ -0,0 +1,31 @@
---
title: Environment Variables
---
This page lists the available environment variables for configuring ClearML Agent.
:::info
ClearML's environment variables override the clearml.conf file, SDK, and [configuration vault](../webapp/webapp_profile.md#configuration-vault),
but can be overridden by command-line arguments.
:::
|Name|Description|
|---|---|
|**CLEARML_DOCKER_IMAGE** | Default ClearML Agent docker image|
|**CLEARML_WORKER_NAME** | Sets the Worker's name|
|**CLEARML_WORKER_ID** | Sets the Worker ID|
|**CLEARML_CUDA_VERSION** | Sets the CUDA version to be used|
|**CLEARML_CUDNN_VERSION** | Sets the CUDNN version to be used|
|**CLEARML_CPU_ONLY** | Force CPU only mode|
|**CLEARML_DOCKER_SKIP_GPUS_FLAG**| Skips the GPUs flag (support for docker V18|
|**CLEARML_AGENT_DISABLE_SSH_MOUNT**| Disables the auto `.ssh` mount into the docker|
|**CLEARML_AGENT_GIT_USER** | Sets the Git user for ClearML Agent|
|**CLEARML_AGENT_GIT_PASS** | Sets the Git password for ClearML Agent|
|**CLEARML_AGENT_GIT_HOST** | Sets Git host (only sending login to this host)|
|**CLEARML_AGENT_EXEC_USER**| User for Agent executing tasks (root by default)|
|**CLEARML_AGENT_EXTRA_DOCKER_ARGS**| Overrides extra docker args configuration |
|**CLEARML_AGENT_EXTRA_PYTHON_PATH**| Sets extra python path|
|**CLEARML_AGENT_INITIAL_CONNECT_RETRY_OVERRIDE**| Overrides initial server connection behavior (true by default), allows explicit number to specify number of connect retries) |
|**CLEARML_AGENT_K8S_HOST_MOUNT / CLEARML_AGENT_DOCKER_HOST_MOUNT**| Specifies Agent's mount point for Docker / K8s|
|**CLEARML_AGENT_SKIP_PIP_VENV_INSTALL**| Skips Python virtual env installation on execute and provides a custom venv binary |
|**CLEARML_AGENT_VENV_CACHE_PATH**|Overrides venv cache folder configuration|

View File

@ -0,0 +1,130 @@
---
title: execute
---
This reference page provides detailed information about ClearML Agent's `execute` subcommand, which you can use to
build and execute an experiment without a queue.
## Syntax
```bash
clearml-agent execute [-h] --id TASK_ID [--log-file LOG_FILE] [--disable-monitoring]
[--full-monitoring] [--require-queue]
[--standalone-mode] [--docker [DOCKER [DOCKER ...]]] [--clone]
[-O] [--git-user GIT_USER] [--git-pass GIT_PASS]
[--log-level {DEBUG,INFO,WARN,WARNING,ERROR,CRITICAL}]
[--gpus GPUS] [--cpu-only]
```
## Arguments
---
**`id`** (*mandatory*)
* The ID of the Task to build.
---
**`clone`**
* Clone the Task specified by `id`, and then execute that cloned Task.
---
**`cpu-only`**
* Disable GPU access for the daemon, only use CPU in either docker or virtual environment.
---
**`docker`**
* Run in Docker mode. Execute the Task inside a Docker container.
To specify the image name and optional arguments, either:
* use `--docker <image_name> <args>` on the command line, or
* use `--docker` on the command line, and specify the default image name and arguments in the configuration file.
Environment variable settings for Dockers containers:
* `ClearML_DOCKER_SKIP_GPUS_FLAG` - Ignore the `gpus` flag inside the Docker container. This also allows you to execute **ClearML Agent** using Docker versions earlier than 19.03.
* `NVIDIA_VISIBLE_DEVICES` - Limit GPU visibility for the Docker container.
* `ClearML_AGENT_GIT_USER` and `ClearML_AGENT_GIT_PASS` - Pass these credentials to the Docker container at execution.
---
**`disable-monitoring`**
* Disable logging and monitoring, except for stdout.
---
**`full-monitoring`**
* Create a full log, including the environment setup log, Task log, and monitoring, as well as stdout.
---
**`git-pass`**
* Git password for repository access.
---
**`git-user`**
* Git username for repository access.
---
**`gpus`**
* Specify active GPUs for the daemon to use (docker / virtual environment), Equivalent to setting
`NVIDIA_VISIBLE_DEVICES`. Examples: `--gpus 0` or `--gpu 0,1,2` or `--gpus all`
---
**`h`, `help`**
* Get help for this command.
---
**`log-file`**
* The log file for Task execution output (stdout / stderr) to a text file.
---
**`log-level`**
* SDK log level. The values are:
* `DEBUG`
* `INFO`
* `WARN`
* `WARNING`
* `ERROR`
* `CRITICAL`
---
**`O`**
* Compile optimized pyc code (see python documentation). Repeat for more optimization.
---
**`require-queue`**
* If the specified task is not queued (in any Queue), the execution will fail. (Used for 3rd party scheduler
integration, e.g. K8s, SLURM, etc.)
---
**`standalone-mode`**
* Do not use any network connects, assume everything is pre-installed

View File

@ -0,0 +1,10 @@
---
title: list
---
This reference page provides detailed information about ClearML Agent's `list` subcommand, which you can use to list
information about all active workers.
## Syntax
clearml-agent list [-h]

View File

@ -0,0 +1,13 @@
---
title: ClearML Agent Reference
---
The following reference pages provide detailed information about using ClearML Agent:
* `clearml-agent` CLI commands:
* [build](clearml_agent_build.md) - Create a worker environment, without executing an experiment.
* [config](clearml_agent_config.md) - List your ClearML Agent configuration.
* [daemon](clearml_agent_daemon.md) - Run a worker daemon listening to a queue for Task (experiments) to execute.
* [execute](clearml_agent_execute.md) - Execute an experiment, locally without a queue.
* [list](clearml_agent_list.md) - List the current workers.
* [Environment variables](clearml_agent_env_var.md)

View File

@ -17,7 +17,7 @@ from the vault are applied on top of the configuration specified in `clearml.con
The different ClearML configuration methods take precedence as summarized in the following list (higher ordered methods The different ClearML configuration methods take precedence as summarized in the following list (higher ordered methods
override the lower ones): override the lower ones):
1. Command-line arguments (e.g. [clearml-task](../apps/clearml_task.md#command-line-options), [clearml-agent](../references/clearml_agent_ref.md), 1. Command-line arguments (e.g. [clearml-task](../apps/clearml_task.md#command-line-options), [clearml-agent](../clearml_agent/clearml_agent_ref.md),
[clearml-session](../apps/clearml_session.md#command-line-options), [clearml-data](../clearml_data/clearml_data_cli.md) [clearml-session](../apps/clearml_session.md#command-line-options), [clearml-data](../clearml_data/clearml_data_cli.md)
arguments) arguments)
1. Environment variables 1. Environment variables

View File

@ -2,6 +2,9 @@
title: Environment Variables title: Environment Variables
--- ---
This page lists the available environment variables for configuring ClearML. See [here](../clearml_agent/clearml_agent_env_var.md)
for environment variables to configure ClearML Agent.
:::info :::info
ClearML's environment variables override the clearml.conf file, SDK, and [configuration vault](../webapp/webapp_profile.md#configuration-vault), ClearML's environment variables override the clearml.conf file, SDK, and [configuration vault](../webapp/webapp_profile.md#configuration-vault),
but can be overridden by command-line arguments. but can be overridden by command-line arguments.
@ -42,24 +45,3 @@ Overrides Repository Auto-logging
|**CLEARML_OFFLINE_MODE** | Sets Offline mode| |**CLEARML_OFFLINE_MODE** | Sets Offline mode|
|**CLEARML_NO_DEFAULT_SERVER** | Disables sending information to demo server when no HOST server is set| |**CLEARML_NO_DEFAULT_SERVER** | Disables sending information to demo server when no HOST server is set|
## ClearML Agent Variables
|Name|Description|
|---|---|
|**CLEARML_DOCKER_IMAGE** | Default ClearML Agent docker image|
|**CLEARML_WORKER_NAME** | Sets the Worker's name|
|**CLEARML_WORKER_ID** | Sets the Worker ID|
|**CLEARML_CUDA_VERSION** | Sets the CUDA version to be used|
|**CLEARML_CUDNN_VERSION** | Sets the CUDNN version to be used|
|**CLEARML_CPU_ONLY** | Force CPU only mode|
|**CLEARML_DOCKER_SKIP_GPUS_FLAG**| Skips the GPUs flag (support for docker V18|
|**CLEARML_AGENT_DISABLE_SSH_MOUNT**| Disables the auto `.ssh` mount into the docker|
|**CLEARML_AGENT_GIT_USER** | Sets the Git user for ClearML Agent|
|**CLEARML_AGENT_GIT_PASS** | Sets the Git password for ClearML Agent|
|**CLEARML_AGENT_GIT_HOST** | Sets Git host (only sending login to this host)|
|**CLEARML_AGENT_EXEC_USER**| User for Agent executing tasks (root by default)|
|**CLEARML_AGENT_EXTRA_DOCKER_ARGS**| Overrides extra docker args configuration |
|**CLEARML_AGENT_EXTRA_PYTHON_PATH**| Sets extra python path|
|**CLEARML_AGENT_INITIAL_CONNECT_RETRY_OVERRIDE**| Overrides initial server connection behavior (true by default), allows explicit number to specify number of connect retries) |
|**CLEARML_AGENT_K8S_HOST_MOUNT / CLEARML_AGENT_DOCKER_HOST_MOUNT**| Specifies Agent's mount point for Docker / K8s|
|**CLEARML_AGENT_SKIP_PIP_VENV_INSTALL**| Skips Python virtual env installation on execute and provides a custom venv binary |
|**CLEARML_AGENT_VENV_CACHE_PATH**|Overrides venv cache folder configuration|

View File

@ -33,7 +33,7 @@ by setting [configuration options](../configs/clearml_conf.md).
CLEARML_CONFIG_FILE = MyOtherClearML.conf CLEARML_CONFIG_FILE = MyOtherClearML.conf
For more information about running experiments inside Docker containers, see [ClearML Agent Execution](../clearml_agent.md#execution) For more information about running experiments inside Docker containers, see [ClearML Agent Execution](../clearml_agent.md#execution)
and [ClearML Agent Reference](../references/clearml_agent_ref.md). and [ClearML Agent Reference](../clearml_agent/clearml_agent_ref.md).
</div> </div>
</details> </details>

View File

@ -53,7 +53,7 @@ and running, users can send Tasks to be executed on the Google Colab's HW.
!clearml-agent daemon --queue default !clearml-agent daemon --queue default
``` ```
For additional options for running `clearml-agent`, see the [clearml-agent reference](../../references/clearml_agent_ref.md). For additional options for running `clearml-agent`, see the [clearml-agent reference](../../clearml_agent/clearml_agent_ref.md).
After cell 4 is executed, the worker should now appear in the [**Workers & Queues**](../../webapp/webapp_workers_queues.md) After cell 4 is executed, the worker should now appear in the [**Workers & Queues**](../../webapp/webapp_workers_queues.md)
page of your server. Clone experiments and enqueue them to your hearts content! The `clearml-agent` will fetch page of your server. Clone experiments and enqueue them to your hearts content! The `clearml-agent` will fetch

View File

@ -1,516 +0,0 @@
---
title: ClearML Agent Reference
---
This reference page provides detailed information about **ClearML Agent** commands, including:
* [build](#build) - Create a worker environment, without executing an experiment.
* [config](#config) - List your **ClearML Agent** configuration.
* [daemon](#daemon) - Run a worker daemon listening to a queue for Task (experiments) to execute.
* [execute](#execute) - Execute an experiment, locally without a queue.
* [list](#list) - List the current workers.
## build
Use the `build` subcommand to create a worker environment without executing the experiment.
### Syntax
```bash
clearml-agent build [-h] --id TASK_ID [--target TARGET]
[--install-globally]
[--docker [DOCKER [DOCKER ...]]] [--force-docker]
[--python-version PYTHON_VERSION]
[--entry-point {reuse_task,clone_task}] [-O]
[--git-user GIT_USER] [--git-pass GIT_PASS]
[--log-level {DEBUG,INFO,WARN,WARNING,ERROR,CRITICAL}]
[--gpus GPUS] [--cpu-only]
```
### Arguments
---
**`id`**
(*mandatory*)
* Build a worker environment for this Task ID.
---
**`cpu-only`**
* Disable GPU access for the Docker container.
---
**`docker`**
* Docker mode. A Docker container that a worker will execute at launch.
To specify the image name and optional arguments, either:
* Use `--docker <image_name> <args>` on the command line, or
* Use `--docker` on the command line, and specify the image name and arguments in the configuration file.
Environment variable settings for Dockers:
* `CLEARML_DOCKER_SKIP_GPUS_FLAG` - Ignore the `gpus` flag inside the Docker container. This also allows you to execute **ClearML Agent** using Docker versions earlier than 19.03.
* `NVIDIA_VISIBLE_DEVICES` - Limit GPU visibility for the Docker container.
* `CLEARML_AGENT_GIT_USER` and `CLEARML_AGENT_GIT_PASS` - Pass these credentials to the Docker container at execution.
To limit GPU visibility for Docker, set the `NVIDIA_VISIBLE_DEVICES` environment variable.
---
**`entry-point`**
* Used in conjunction with `--docker`, indicates how to run the Task specified by `task-id` on Docker startup.
The `entry-point` options are:
* `reuse` - Overwrite the existing Task data.
* `clone_task` - Clone the Task, and execute the cloned Task.
---
**`force-docker`**
* Force using the agent-specified docker image (either explicitly in the `--docker` argument or using the agent's
default docker image). If provided, the agent will not use any docker container information stored in the task itself
(default `False`)
---
**`git-pass`**
* Git password for repository access.
---
**`git-user`**
* Git username for repository access.
---
**`gpus`**
* Specify the active GPUs for the Docker containers to use. These are the same GPUs set in the `NVIDIA_VISIBLE_DEVICES` environment variable.
For example:
* `--gpus 0`
* `--gpu 0,1,2`
* `--gpus all`
---
**`h`, `help`**
* Get help for this command.
---
**`install-globally`**
* Install the required Python packages before creating the virtual environment. Use `agent.package_manager.system_site_packages` to control the installation of the system packages. When `--docker` is used, `install-globally` is always true.
---
**`log-level`**
* SDK log level. The values are:
* `DEBUG`
* `INFO`
* `WARN`
* `WARNING`
* `ERROR`
* `CRITICAL`
---
**`python-version`**
* Virtual environment Python version to use.
---
**`O`**
* Compile optimized pyc code (see python documentation). Repeat for more optimization.
---
**`target`**
* The target folder for the virtual environment and source code that will be used at launch.
## config
Use the `config` subcommand to list your **ClearML Agent** configuration.
### Syntax
clearml-agent config [-h]
## daemon
Use the `daemon` subcommand to run a worker, optionally in a Docker container, listening to a queue.
### Syntax
```bash
clearml-agent daemon [-h] [--foreground] [--queue QUEUES [QUEUES ...]] [--order-fairness]
[--standalone-mode] [--services-mode [SERVICES_MODE]]
[--child-report-tags CHILD_REPORT_TAGS [CHILD_REPORT_TAGS ...]]
[--create-queue] [--detached] [--stop] [--dynamic-gpus]
[--uptime [UPTIME [UPTIME ...]]] [--downtime [DOWNTIME [DOWNTIME ...]]]
[--status] [--use-owner-token] [-O]
[--git-user GIT_USER] [--git-pass GIT_PASS]
[--log-level {DEBUG,INFO,WARN,WARNING,ERROR,CRITICAL}]
[--gpus GPUS] [--cpu-only]
[--docker [DOCKER [DOCKER ...]]] [--force-current-version]
```
### Arguments
---
**`child-report-tags`**
List of tags to send with the status reports from the worker that executes a task.
---
**`cpu-only`**
* If running in Docker mode (see the `docker` option), disable GPU access for the Docker container or virtual environment.
---
**`create-queue`**
* If the queue name provided does not exist in the server, create and use it.
---
**`detached`**
* Run agent in the background. The `clearml-agent` command returns immediately.
---
**`docker`**
* Run in Docker mode. Execute the Task inside a Docker container.
To specify the image name and optional arguments, either:
* use `--docker <image_name> <args>` on the command line, or
* use `--docker` on the command line, and specify the image name and arguments in the configuration file.
Environment variable settings for Dockers:
* `CLEARML_DOCKER_SKIP_GPUS_FLAG` - Ignore the `gpus` flag inside the Docker container. This also allows you to execute **ClearML Agent** using Docker versions earlier than 19.03.
* `NVIDIA_VISIBLE_DEVICES` - Limit GPU visibility for the Docker container.
* `ClearML_AGENT_GIT_USER` and `ClearML_AGENT_GIT_PASS` - Pass these credentials to the Docker container at execution.
---
**`downtime`**
* Specify downtime for clearml-agent in `<hours> <days>` format.
For example, use `09-13 TUE` to set Tuesday's downtime to 09-13.
:::info
* This feature is available under the ClearML Enterprise plan
* Make sure to have only one of uptime / downtime configuration and not both.
:::
---
**`dynamic-gpus`**
* Allow to dynamically allocate gpus based on queue properties, configure with `--queue <queue_name>=<num_gpus>`.
For example: `--dynamic-gpus --queue dual_gpus=2 single_gpu=1`
:::info Enterprise Feature
This feature is available under the ClearML Enterprise plan
:::
---
**`force-current-version`**
* To use your current version of **ClearML Agent** when running in Docker mode (the `docker` argument is specified),
instead of the latest **ClearML Agent** version which is automatically installed, specify `force-current-version`.
For example, if your current **ClearML Agent** version is `0.13.1`, but the latest version of **ClearML Agent** is
`0.13.3`, use `--force-current-version` and your Task will execute in the Docker container with **ClearML Agent** version `0.13.1`.
---
**`foreground`**
* Pipe full log to stdout/stderr. Do not use this option if running in background.
---
**`git-pass`**
* Git password for repository access.
---
**`git-user`**
* Git username for repository access.
---
**`gpus`**
* If running in Docker mode (see the `docker` option), specify the active GPUs for the Docker containers to use.
These are the same GPUs set in the `NVIDIA_VISIBLE_DEVICES` environment variable.
For example:
* `--gpus 0`
* `--gpu 0,1,2`
* `--gpus all`
---
**`h`, `help`**
* Get help for this command.
---
**`log-level`**
* SDK log level. The values are:
* `DEBUG`
* `INFO`
* `WARN`
* `WARNING`
* `ERROR`
* `CRITICAL`
---
**`O`**
* Compile optimized pyc code (see python documentation). Repeat for more optimization.
---
**`order-fairness`**
* Pull from each queue in a round-robin order, instead of priority order.
---
**`queue`**
* Specify the queues which the worker is listening to. The values can be any combination of:
* One or more queue IDs.
* One or more queue names.
* `default` indicating the default queue.
---
**`services-mode`** <a class="tr_top_negative" name="services_mode"></a>
* Launch multiple long-term docker services. Spin multiple, simultaneous Tasks, each in its own Docker container, on the same machine. Each Task will be registered
as a new node in the system, providing tracking and transparency capabilities. Start up and shutdown of each Docker is
verified. Use in CPU mode (`--cpu-only`), only.
* To limit the number of simultaneous tasks run in services mode, pass the maximum number immediately after the
`--services-mode` option (e.g. `--services-mode 5`)
---
**`standalone-mode`**
* Do not use any network connects. This assumes all requirements are pre-installed.
---
**`status`**
* Print the worker's schedule (uptime properties, server's runtime properties and listening queues)
---
**`stop`**
* Terminate a running ClearML Agent, if other arguments are the same. If no additional arguments are provided, agents are
terminated in lexicographical order.
---
**`uptime`**
* Specify uptime for clearml-agent in `<hours> <days>` format. for example, use `17-20 TUE` to set Tuesday's
uptime to 17-20
:::info
* This feature is available under the ClearML Enterprise plan
* Make sure to have only one of uptime / downtime configuration and not both.
:::
---
**`use-owner-token`**
Generate and use the task owner's token for the execution of the task.
## execute
Use the `execute` subcommand to build and execute an experiment without a queue.
### Syntax
```bash
clearml-agent execute [-h] --id TASK_ID [--log-file LOG_FILE] [--disable-monitoring]
[--full-monitoring] [--require-queue]
[--standalone-mode] [--docker [DOCKER [DOCKER ...]]] [--clone]
[-O] [--git-user GIT_USER] [--git-pass GIT_PASS]
[--log-level {DEBUG,INFO,WARN,WARNING,ERROR,CRITICAL}]
[--gpus GPUS] [--cpu-only]
```
### Arguments
---
**`id`** (*mandatory*)
* The ID of the Task to build.
---
**`clone`**
* Clone the Task specified by `id`, and then execute that cloned Task.
---
**`cpu-only`**
* Disable GPU access for the daemon, only use CPU in either docker or virtual environment.
---
**`docker`**
* Run in Docker mode. Execute the Task inside a Docker container.
To specify the image name and optional arguments, either:
* use `--docker <image_name> <args>` on the command line, or
* use `--docker` on the command line, and specify the default image name and arguments in the configuration file.
Environment variable settings for Dockers containers:
* `ClearML_DOCKER_SKIP_GPUS_FLAG` - Ignore the `gpus` flag inside the Docker container. This also allows you to execute **ClearML Agent** using Docker versions earlier than 19.03.
* `NVIDIA_VISIBLE_DEVICES` - Limit GPU visibility for the Docker container.
* `ClearML_AGENT_GIT_USER` and `ClearML_AGENT_GIT_PASS` - Pass these credentials to the Docker container at execution.
---
**`disable-monitoring`**
* Disable logging and monitoring, except for stdout.
---
**`full-monitoring`**
* Create a full log, including the environment setup log, Task log, and monitoring, as well as stdout.
---
**`git-pass`**
* Git password for repository access.
---
**`git-user`**
* Git username for repository access.
---
**`gpus`**
* Specify active GPUs for the daemon to use (docker / virtual environment), Equivalent to setting
`NVIDIA_VISIBLE_DEVICES`. Examples: `--gpus 0` or `--gpu 0,1,2` or `--gpus all`
---
**`h`, `help`**
* Get help for this command.
---
**`log-file`**
* The log file for Task execution output (stdout / stderr) to a text file.
---
**`log-level`**
* SDK log level. The values are:
* `DEBUG`
* `INFO`
* `WARN`
* `WARNING`
* `ERROR`
* `CRITICAL`
---
**`O`**
* Compile optimized pyc code (see python documentation). Repeat for more optimization.
---
**`require-queue`**
* If the specified task is not queued (in any Queue), the execution will fail. (Used for 3rd party scheduler
integration, e.g. K8s, SLURM, etc.)
---
**`standalone-mode`**
* Do not use any network connects, assume everything is pre-installed
## list
Use the `list` subcommand to list information about all workers
### Syntax
clearml-agent list [-h]

View File

@ -88,10 +88,6 @@ module.exports = {
label: 'Server API', label: 'Server API',
to: '/docs/references/api/index', to: '/docs/references/api/index',
}, },
{
label: 'Agent Reference',
to: '/docs/references/clearml_agent_ref',
},
], ],
}, },
{ {

View File

@ -16,7 +16,19 @@ module.exports = {
{'ClearML Fundamentals': ['fundamentals/projects', 'fundamentals/task', 'fundamentals/hyperparameters', 'fundamentals/artifacts', 'fundamentals/logger', 'fundamentals/agents_and_queues', {'ClearML Fundamentals': ['fundamentals/projects', 'fundamentals/task', 'fundamentals/hyperparameters', 'fundamentals/artifacts', 'fundamentals/logger', 'fundamentals/agents_and_queues',
'fundamentals/hpo']}, 'fundamentals/hpo']},
{'ClearML SDK': ['clearml_sdk/clearml_sdk', 'clearml_sdk/task_sdk', 'clearml_sdk/model_sdk', 'clearml_sdk/apiclient_sdk']}, {'ClearML SDK': ['clearml_sdk/clearml_sdk', 'clearml_sdk/task_sdk', 'clearml_sdk/model_sdk', 'clearml_sdk/apiclient_sdk']},
'clearml_agent', {'ClearML Agent':
[
'clearml_agent',
{'Reference':
[
'clearml_agent/clearml_agent_ref', 'clearml_agent/clearml_agent_build',
'clearml_agent/clearml_agent_config', 'clearml_agent/clearml_agent_daemon',
'clearml_agent/clearml_agent_execute', 'clearml_agent/clearml_agent_list',
'clearml_agent/clearml_agent_env_var'
]
}
]
},
{'ClearML Pipelines':['pipelines/pipelines', {'ClearML Pipelines':['pipelines/pipelines',
{"Building Pipelines": {"Building Pipelines":
['pipelines/pipelines_sdk_tasks', 'pipelines/pipelines_sdk_function_decorators'] ['pipelines/pipelines_sdk_tasks', 'pipelines/pipelines_sdk_function_decorators']