Skip to main content

ClearML 任务教程

在本教程中,您将使用clearml-task在远程或本地机器上执行一个脚本,该脚本来自远程仓库和您的本地机器。

先决条件

  • clearml Python 包已安装并配置
  • clearml-agent 至少在一台机器上运行(以执行实验),配置为监听 default 队列

从远程仓库执行代码

clearml-task --project keras_examples --name remote_test --repo https://github.com/allegroai/events.git --branch master --script /webinar-0620/keras_mnist.py --args batch_size=64 epochs=1 --queue default

这将设置以下参数:

  • --project keras_examples --name remote_test - 项目和实验名称
  • --repo https://github.com/allegroai/events.git - 仓库的URL。默认情况下,clearml-task 使用主分支的最新提交
  • --branch master - 仓库分支
  • --script /webinar-0620/keras_mnist.py - 要执行的脚本
  • --args batch_size=64 epochs=1 - 传递给脚本的参数。这使用argparse对象来获取命令行参数
  • --queue default - 选择发送实验的队列
Adding Requirements

clearml-task 自动在远程仓库中查找 requirements.txt 文件。 如果远程仓库没有这样的文件,请确保添加一个包含所有所需 Python 包的文件, 或者在命令中添加 --packages "" 选项(例如:--packages "tqdm>=2.1" "scikit-learn")。

现在 clearml-task 完成了所有繁重的工作!

  1. 它创建了一个新的ClearML任务
  2. clearml-task 将任务排入选定的执行队列中,由分配给该队列的 ClearML Agent 执行任务

您的输出应该看起来像这样:

New task created id=2f96ee95b05d4693b360d0fcbb26b727
Task id=2f96ee95b05d4693b360d0fcbb26b727 sent for execution on queue default
Execution log at: https://app.clear.ml/projects/552d5399112d47029c146d5248570295/experiments/2f96ee95b05d4693b360d0fcbb26b727/output/log

执行本地脚本

对于这个例子,使用此脚本的本地版本。

  1. 克隆 allegroai/events 仓库
  2. 转到克隆存储库的根文件夹
  3. 运行以下命令:
clearml-task --project keras --name local_test --script webinar-0620/keras_mnist.py --branch master --requirements webinar-0620/requirements.txt --args epochs=1 --queue default

这将设置以下参数:

  • --project keras --name local_test - 项目和实验名称
  • --script /webinar-0620/keras_mnist.py - 要执行的本地脚本
  • -requirements webinar-0620/requirements.txt - 本地 Python 包需求文件
  • --args batch_size=64 epochs=1 - 传递给脚本的参数。这使用argparse对象来捕获CLI参数
  • --queue default - 选择发送实验的队列

clearml-task 根据输入参数创建一个任务,并将任务发送到 default 队列中执行。