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
完成了所有繁重的工作!
- 它创建了一个新的ClearML任务
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
执行本地脚本
对于这个例子,使用此脚本的本地版本。
- 克隆 allegroai/events 仓库
- 转到克隆存储库的根文件夹
- 运行以下命令:
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
队列中执行。