ClearML 代理
ClearML Agent 是一个用于GPU机器上的深度学习/机器学习解决方案的虚拟环境和执行管理器。它与ClearML Python Package和ClearML Server集成,提供完整的人工智能集群解决方案。
其主要关注点包括:
- 重现实验,包括它们的完整环境。
- 在多个目标机器上扩展工作流程。
ClearML 代理通过将代码状态从原始机器复制到远程机器来执行实验或其他工作流程。
前面的图表展示了一个典型的流程,其中代理执行任务:
- 将任务加入队列以执行。
- 代理从队列中拉取任务。
- 代理启动一个docker容器,在其中运行任务的代码。
- 任务执行环境的设置如下:
- 执行任何配置的自定义设置脚本。
- 安装任何所需的系统包。
- 从git仓库克隆代码。
- 应用任何记录的未提交更改。
- 设置python环境和所需的包。
- 任务的脚本/代码被执行。
Python Version
ClearML 代理使用执行代码的环境或 Docker 中的 Python 版本。它不会安装 Python,因此请确保使用包含所需版本的 Docker 或环境。
当代理运行时,它会持续向ClearML服务器报告系统指标(这些指标可以在编排页面中监控)。
一旦ClearML代理在目标机器上运行,就可以继续使用它。通过以下一种(或两种)方式重现实验并执行自动化工作流程:
- 以编程方式(使用
Task.enqueue()
或Task.execute_remotely()
) - 通过ClearML Web UI(无需直接操作代码),通过克隆实验并将它们排入ClearML Agent正在服务的队列中。
代理通过UI促进覆盖任务执行细节值,而无需修改代码。修改任务克隆的配置将使ClearML代理执行它覆盖原始值:
- 修改后的包要求将使实验脚本使用更新的包运行
- 修改后的记录命令行参数将使ClearML代理注入新值以替代它们
- 使用
Task.connect()
进行代码级配置的仪器将被修改的超参数覆盖
ClearML 代理可以部署在各种设置中,以适应不同的工作流程和基础设施需求:
参考文献
欲了解更多信息,请参阅以下内容:
- ClearML Agent CLI 用于参考
clearml-agent
的 CLI 命令。 - ClearML 代理环境变量 用于配置 ClearML 代理的环境变量列表
- 代理部分 用于配置ClearML代理的选项列表,位于
clearml.conf