Skip to content

使用ClearML训练YOLO11:简化您的MLOps工作流程

MLOps 弥合了在现实世界中创建和部署机器学习模型之间的差距。它专注于高效部署、可扩展性和持续管理,以确保模型在实际应用中表现良好。

Ultralytics YOLO11 与 ClearML 无缝集成,简化和增强了您的目标检测模型的训练和管理。本指南将带您了解集成过程,详细说明如何设置ClearML、管理实验、自动化模型管理以及有效协作。

ClearML

ClearML Overview

ClearML 是一个创新的开源MLOps平台,精心设计用于自动化、监控和编排机器学习工作流程。其主要功能包括自动记录所有训练和推理数据以实现完整的实验可重复性,直观的Web UI用于轻松的数据可视化和分析,高级超参数优化算法,以及强大的模型管理,以在各种平台上实现高效部署。

使用ClearML训练YOLO11

通过将YOLO11与ClearML集成,您可以为您的机器学习工作流程带来自动化和效率,改进您的训练过程。

安装

要安装所需的包,请运行:

安装

# 安装YOLO11和ClearML所需的包
pip install ultralytics clearml

有关安装过程的详细说明和最佳实践,请务必查看我们的YOLO11安装指南。在安装YOLO11所需的包时,如果遇到任何困难,请参考我们的常见问题指南以获取解决方案和提示。

配置ClearML

安装必要的包后,下一步是初始化和配置您的ClearML SDK。这涉及设置您的ClearML账户并获取必要的凭证,以实现您的开发环境与ClearML服务器之间的无缝连接。

首先在您的环境中初始化ClearML SDK。'clearml-init'命令启动设置过程,并提示您输入必要的凭证。

初始SDK设置

# 初始化您的ClearML SDK设置过程
clearml-init

执行此命令后,访问ClearML设置页面。导航到右上角并选择“设置”。进入“工作区”部分,点击“创建新凭证”。使用“创建凭证”弹出窗口中提供的凭证,根据您是在Jupyter Notebook还是本地Python环境中配置ClearML,按照指示完成设置。

使用

在深入使用说明之前,请务必查看Ultralytics提供的YOLO11模型范围。这将帮助您为项目需求选择最合适的模型。

使用

from clearml import Task

from ultralytics import YOLO

# 步骤1:创建ClearML任务
task = Task.init(project_name="my_project", task_name="my_yolov8_task")

# 步骤2:选择YOLO11模型
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)

# 步骤3:加载YOLO11模型
model = YOLO(f"{model_variant}.pt")

# 步骤4:设置训练参数
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# 步骤5:启动模型训练
results = model.train(**args)

理解代码

让我们理解上述使用代码片段中展示的步骤。

步骤1:创建ClearML任务:在ClearML中初始化一个新任务,指定您的项目和任务名称。此任务将跟踪和管理您的模型训练。

步骤2:选择YOLO11模型model_variant变量设置为'yolo11n',这是YOLO11模型之一。然后将此变体记录在ClearML中以进行跟踪。 步骤3:加载YOLO11模型:使用Ultralytics的YOLO类加载选定的YOLO11模型,为训练做好准备。

步骤4:设置训练参数:关键的训练参数,如数据集(coco8.yaml)和epoch数量(16),被组织在一个字典中,并与ClearML任务连接。这允许通过ClearML UI进行跟踪和潜在的修改。要详细了解模型训练过程和最佳实践,请参阅我们的YOLO11模型训练指南

步骤5:启动模型训练:使用指定的参数开始模型训练。训练过程的结果被捕获在results变量中。

理解输出

运行上述使用代码片段后,您可以预期以下输出:

  • 确认创建新ClearML任务的消息,以及其唯一ID。
  • 关于存储脚本代码的信息性消息,表明代码执行正被ClearML跟踪。
  • 指向ClearML结果页面的URL链接,您可以在该页面监控训练进度并查看详细日志。
  • YOLO11模型和指定数据集的下载进度,随后是模型架构和训练配置的摘要。
  • 各种训练组件的初始化消息,如TensorBoard、自动混合精度(AMP)和数据集准备。
  • 最后,训练过程开始,随着模型在指定数据集上训练,会有进度更新。要深入了解训练期间使用的表现指标,请阅读我们的表现指标指南

查看ClearML结果页面

通过点击使用代码片段输出中的ClearML结果页面URL链接,您可以访问您的模型训练过程的综合视图。

ClearML结果页面的关键功能

  • 实时指标跟踪

    • 跟踪关键指标,如损失、准确性和验证分数,实时发生。
    • 提供即时反馈,以便及时调整模型性能。
  • 实验比较

    • 并排比较不同的训练运行。
    • 对于超参数调优和识别最有效的模型至关重要。
  • 详细日志和输出

    • 访问全面的日志、指标的图形表示和控制台输出。
    • 深入了解模型行为和问题解决。
  • 资源利用监控

    • 监控计算资源的利用情况,包括CPU、GPU和内存。
    • 优化训练效率和成本的关键。
  • 模型工件管理

    • 查看、下载和共享模型工件,如训练模型和检查点。
    • 增强协作并简化模型部署和共享。

要查看ClearML结果页面的视觉演示,请观看以下视频:



观看: 使用ClearML进行YOLO11 MLOps集成

ClearML中的高级功能

ClearML提供了几个高级功能来增强您的MLOps体验。

远程执行

ClearML的远程执行功能有助于在不同机器上重现和操作实验。它记录了安装的包和未提交的更改等重要细节。当任务被排队时,ClearML代理会拉取它,重新创建环境并运行实验,报告详细结果。

部署ClearML代理很简单,可以通过以下命令在各种机器上完成:

clearml-agent daemon --queue <queues_to_listen_to> [--docker]

此设置适用于云虚拟机、本地GPU或笔记本电脑。ClearML Autoscalers帮助管理AWS、GCP和Azure等平台上的云工作负载,根据您的资源预算自动部署代理并调整资源。

克隆、编辑和排队

ClearML的用户友好界面使得任务的克隆、编辑和排队变得简单。用户可以克隆一个现有的实验,通过UI调整参数或其他细节,并将任务排队执行。这个简化的流程确保了执行任务的ClearML Agent使用更新后的配置,非常适合迭代实验和模型微调。


使用ClearML进行克隆、编辑和排队

总结

本指南带领您完成了将ClearML与Ultralytics的YOLO11集成在一起的过程。从初始设置到高级模型管理,您已经了解了如何利用ClearML在机器学习项目中进行高效训练、实验跟踪和工作流优化。

如需进一步了解使用细节,请访问ClearML的官方文档

此外,通过访问Ultralytics集成指南页面,探索更多Ultralytics的集成和功能,这是一个资源和见解的宝库。

常见问题

如何将Ultralytics YOLO11与ClearML集成?

将Ultralytics YOLO11与ClearML集成涉及一系列步骤,以简化您的MLOps工作流程。首先,安装必要的包:

pip install ultralytics clearml

接下来,使用以下命令在您的环境中初始化ClearML SDK:

clearml-init

然后,使用您在ClearML设置页面中的凭据配置ClearML。有关整个设置过程的详细说明,包括模型选择和训练配置,请参阅我们的YOLO11模型训练指南

为什么我应该在机器学习项目中使用ClearML与Ultralytics YOLO11?

在机器学习项目中使用ClearML与Ultralytics YOLO11通过自动化实验跟踪、简化工作流程和实现强大的模型管理来增强您的项目。ClearML提供实时指标跟踪、资源利用监控和用户友好的界面来比较实验。这些功能有助于优化模型的性能,并使开发过程更加高效。在我们的MLOps集成指南中了解更多关于好处和程序的信息。

在YOLO11和ClearML集成过程中如何解决常见问题?

如果在YOLO11与ClearML的集成过程中遇到问题,请查阅我们的常见问题指南以获取解决方案和提示。典型问题可能涉及包安装错误、凭据设置或配置问题。本指南提供了逐步的故障排除说明,以高效解决这些常见问题。

如何为YOLO11模型训练设置ClearML任务?

为YOLO11训练设置ClearML任务涉及初始化任务、选择模型变体、加载模型、设置训练参数,最后启动模型训练。以下是一个简化的示例:

from clearml import Task

from ultralytics import YOLO

# 步骤1:创建ClearML任务
task = Task.init(project_name="my_project", task_name="my_yolov8_task")

# 步骤2:选择YOLO11模型
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)

# 步骤3:加载YOLO11模型
model = YOLO(f"{model_variant}.pt")

# 步骤4:设置训练参数
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# 步骤5:启动模型训练
results = model.train(**args)

请参阅我们的使用指南以获取这些步骤的详细分解。

我可以在哪里查看我的YOLO11训练在ClearML中的结果?

在运行带有ClearML的YOLO11训练脚本后,您可以在ClearML结果页面上查看结果。输出将包括一个指向ClearML仪表板的URL链接,您可以在其中跟踪指标、比较实验和监控资源使用情况。有关如何查看和解释结果的更多详细信息,请查看我们的查看ClearML结果页面部分。


📅 Created 10 months ago ✏️ Updated 13 days ago

Comments