Skip to main content

ClearML Agent Reference

This reference page provides details information about ClearML Agent commands, including:

  • build - Create a worker environment, without executing an experiment.
  • config - List your ClearML Agent configuration.
  • daemon - Run a worker daemon listening to a queue for Task (experiments) to execute.
  • execute - Execute an experiment, locally without a queue.
  • list - List the current workers.

build#

Use the build subcommand to create a worker environment, but do not execute the experiment.

Syntax#

clearml-agent build [-h] --id TASK_ID [--target TARGET]
[--install-globally]
[--docker [DOCKER [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.

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#

clearml-agent daemon [-h] [--foreground] [--queue QUEUES [QUEUES ...]] [--order-fairness] [--standalone-mode]
[--services-mode [SERVICES_MODE]] [--create-queue] [--detached] [--stop] [--dynamic-gpus]
[--uptime [UPTIME [UPTIME ...]]] [--downtime [DOWNTIME [DOWNTIME ...]]] [--status] [-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#


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.

note
  • This feature is only supported by the ClearML Enterprise Server
  • 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 --queues <queue_name>=<num_gpus>.

    For example: --dynamic-gpus --queue dual_gpus=2 single_gpu=1

note

This feature is only supported by the ClearML Enterprise Server


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

  • 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.

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
note
  • This feature is only supported by the ClearML Enterprise Server
  • Make sure to have only one of uptime / downtime configuration and not both.

execute#

Use the execute subcommand to build and execute an experiment without a queue.

Syntax#

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]