执行环境
ClearML 代理有两种主要的执行模式:虚拟环境模式 和 Docker 模式。
虚拟环境模式
在虚拟环境模式下,代理为实验创建一个虚拟环境,根据任务规范安装所需的Python包,克隆代码库,应用未提交的更改,最后在执行代码时进行监控。此模式使用智能缓存,因此包和环境可以在多个任务中重复使用(参见虚拟环境重用)。
ClearML 代理支持使用以下包管理器之一:
要更改代理使用的包管理器,请编辑clearml.conf
中的package_manager.type
字段。如果conda
需要额外的渠道,请在clearml.conf
中的package_manager.conda_channels
字段中添加缺失的渠道。
Using Poetry with Pyenv
某些版本的poetry(使用install-poetry.py
)不尊重pyenv global
。
如果您正在使用pyenv来控制使用ClearML Agent的环境,您可以:
- 使用 poetry v1.2 及以上版本(修复了 这个问题)
- 使用已弃用的
get-poetry.py
安装程序安装 poetry
Docker 模式
notes
- Docker 模式仅在 Linux 中受支持。
- Docker 模式需要安装 docker 服务 v19.03 或更高版本。
- 如果您的机器需要root权限来运行Docker,那么Docker模式下的ClearML Agent也必须以root权限运行。
当在Docker模式下执行ClearML代理时,它将:
- 运行提供的Docker容器
- 在容器中安装ClearML Agent
- 在容器中执行任务,并监控进程。
ClearML 代理使用提供的默认 Docker 容器,可以从 UI 中覆盖。
Setting Docker Container via UI
您可以通过用户界面设置docker容器:
- 克隆实验
- 在克隆任务的执行标签页的> 容器部分设置Docker
- 将克隆的任务加入队列
任务将在用户界面中指定的容器中执行。
所有ClearML代理标志(如--gpus
和--foreground
)也适用于Docker模式。
-
要在Docker模式下执行ClearML Agent,请运行:
clearml-agent daemon --queue
--docker [可选默认使用的docker镜像] -
要在Docker容器中使用当前的
clearml-agent
版本,而不是自动安装的最新clearml-agent
版本,请传递--force-current-version
标志:clearml-agent daemon --queue default --docker --force-current-version
-
对于Kubernetes,在守护进程主机上指定一个主机挂载。不要在Docker容器内部使用主机挂载。 设置环境变量
CLEARML_AGENT_K8S_HOST_MOUNT
。 例如:CLEARML_AGENT_K8S_HOST_MOUNT=/mnt/host/data:/root/.clearml