实验管理器实践
视频教程
欢迎来到ClearML!在本视频中,您将学习如何通过向现有项目添加2行简单的Python代码来快速开始使用实验管理器。
这是实验管理器的用户界面,你在这里看到的每一行,都是你代码的一次运行。所以让我们先在代码中设置好一切,然后我们稍后会在视频中回到这个用户界面。
我们目前在我们的项目文件夹中。如你所见,我们这里有一个非常基础的玩具示例,我们希望通过使用ClearML的实验管理器来跟踪它。
首先要做的是在我们的虚拟环境中安装clearml
python包。安装这个包本身会为你添加3个命令。我们稍后会介绍clearml-data
和clearml-task
命令。现在我们需要的是clearml-init
。
如果你在本系列的第一个视频中注意了,你会记得我们需要连接到一个ClearML服务器来保存所有我们跟踪的数据。服务器是我们之前看到实验列表的地方。这个连接是clearml-init
将为我们设置的。运行该命令时,它会要求你输入服务器API凭证。
要获取这些信息,请访问您的ClearML服务器网页。如果您使用的是我们的托管服务,这将在app.clear.ml。如果您自己托管,请浏览到您服务器的地址,端口为8080。转到右上角的设置,在工作区下,创建新的凭据。这将弹出一个窗口,显示您的API信息,您可以将其复制粘贴到clearml-init
提示符中。
提示将建议您复制的代码片段中的服务器URL。如果它们是正确的,只需按Enter键,否则您可以在此处更改它们。
现在我们已经准备好将这两行神奇的代码添加到我们的代码中,并开始跟踪我们的实验!
第一行从clearml
包中导入Task对象,第二行在某个项目中创建一个新任务。如果该项目尚不存在,将会被创建。
现在我们可以直接运行实验,并在我们的网页视图中实时看到它弹出!实验还会生成一个链接到您的实验页面,以便轻松访问。从这里开始,我们有很多很酷的功能可以使用。
这是我们的实验概览,在ClearML中实验被称为任务。如果我们点击这里的一个任务,我们会得到之前看到的详细概览。
我们可以通过点击这里来更改任务的名称,并添加描述或获取任务的ID。我们还可以为我们的任务添加标签,以便于过滤和搜索。
首先,源代码被捕获。如果您在git仓库中工作,我们将保存您的git信息以及任何未提交的更改。如果您正在运行一个未版本化的脚本,clearml
将保存该脚本。
与您的代码使用的Python包一起,这将允许您在任何机器上重现您的实验。
同样,代码生成的所有输出也将被捕获。
这两行神奇的代码在您的代码导入时也会自动与大多数ML/DL库挂钩。例如,当使用python argparse处理命令行参数时,参数本身将被ClearML捕获,无需任何额外代码。同样地,其他框架如tensorflow、pytorch和matplotlib将自动记录超参数、模型检查点、预览图像和图表等。
除了自动记录外,只需额外添加一行代码,就可以轻松手动将任何内容添加到任务中。工件通常用于可重用的文件,如模型权重,而调试样本可以显示任何输出类型,如带注释的图像,甚至是音频或视频剪辑。
请查看我们的文档以获取更多信息。
如果你想向同事或朋友展示你的模型表现如何,你可以通过右键点击任务并选择分享来轻松分享一个任务,使其可以通过链接访问。任何访问该链接的人都将在全屏模式下获得详细视图,并且任务本身将获得一个标签,显示它现在已被分享。
在许多情况下,我们还希望直接比较多个版本的实验,这可以通过选择您感兴趣的任务并点击底部功能区中的比较按钮轻松完成。
这将显示与我们的详细视图中相同的信息标签。
差异以红色高亮显示,您可以选择隐藏任务之间相同的所有内容,以便进行更清晰的比较。
标量(如损失或准确率)将绘制在同一轴上,这使得比较它们更加方便。
最后,也可以比较混淆矩阵和调试样本等图表。对于那些你只想用肉眼确认新模型更好的时候。
既然你已经准备好开始跟踪和管理你的实验,我们将在下一个视频中介绍实验管理器的一些更高级的功能和概念。但如果你想立即开始,请前往clear.ml,并在需要任何帮助时加入我们的社区Slack频道。