Nvidia TAO
NVIDIA TAO Toolkit 是 NVIDIA TAO 框架的低代码版本,可加速模型训练过程。ClearML 与 TAO Toolkit 无缝集成,自动记录指标、模型文件、图表、调试样本等,以便您更深入地了解训练过程。
设置
-
安装
clearml
python 包:pip install clearml
-
为了跟踪您的实验和/或数据,ClearML 需要与服务器通信。您有2种服务器选项:
- 免费注册ClearML 托管服务
- 设置您自己的服务器,请参阅这里
-
通过创建凭证将ClearML SDK连接到服务器(在UI的右上角转到设置 > 工作区 > 创建新凭证),然后执行以下命令并按照说明操作:
clearml-init
Jupyter Notebook如果您正在使用Jupyter Notebook,在新凭证模态框中,点击“Jupyter Notebook”,然后复制凭证并粘贴到您的笔记本中
Set Credentials in TAO Toolkit Launcher您可以通过TAO Toolkit启动器设置包含您的ClearML凭据的环境变量。将您的凭据添加到
~/.tao_mounts.json
文件的Envs
元素中,如下所示:{
"Mounts": [
],
"Envs": [
{
"variable": "CLEARML_WEB_HOST",
"value": "https://app.clear.ml"
},
{
"variable": "CLEARML_API_HOST",
"value": "https://api.clear.ml"
},
{
"variable": "CLEARML_FILES_HOST",
"value": "https://files.clear.ml"
},
{
"variable": "CLEARML_API_ACCESS_KEY",
"value": "<API_ACCESS_KEY>"
},
{
"variable": "CLEARML_API_SECRET_KEY",
"value": "<API_SECRET_KEY>"
}
],
"DockerOptions": {
}
} -
通过TAO工具包自定义ClearML任务。在训练配置文件的
visualizer.clearml_config
下,您可以设置以下内容:task
- ClearML任务的名称。为了保持每次运行的名称唯一,TAO Toolkit会在名称字符串后附加实验创建时的时间戳。project
- 任务将存储的项目tags
- 用于标记任务的标签。
例如:
clearml_config{
project: "TAO Toolkit ClearML Demo"
task: "detectnet_v2_resnet18_clearml"
tags: "detectnet_v2"
tags: "training"
tags: "resnet18"
tags: "unpruned"
}此配置可能会根据网络遵循的模式而有所不同。有关更多信息,请参阅NVIDIA文档。
就是这样!每当你使用TAO Toolkit训练模型时,都会创建一个ClearML任务, 它将捕获你的模型文件、训练配置、标量、调试样本、图表、控制台输出等。 你可以在ClearML Web UI中查看所有这些捕获的信息。
远程执行
ClearML 记录了在不同机器上重现实验所需的所有信息(已安装的包、未提交的更改等)。ClearML Agent 监听指定的队列,当任务入队时,代理会拉取它,重新创建其执行环境并运行它,将其标量、图表等报告给实验管理器。
通过在任何机器上(例如云虚拟机、本地GPU机器、您自己的笔记本电脑)运行以下命令来部署ClearML代理:
clearml-agent daemon --queue <queues_to_listen_to> [--docker]
使用ClearML的自动扩展器来帮助您管理所选云(AWS、GCP、Azure)中的云工作负载,并自动部署ClearML代理:自动扩展器会根据您设置的资源预算,根据需要自动启动和关闭实例。
克隆、编辑和入队
使用ClearML的网页界面编辑任务详情,如配置参数或输入模型,然后在远程机器上使用新配置执行任务:
- Clone Experiment
- Edit hyperparameters and/or other details
- 将任务加入队列
执行任务的ClearML代理将使用新值来覆盖任何硬编码的值。