使用 ClearML 训练 YOLO26:精简你的 MLOps 工作流程

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

Ultralytics YOLO26 可以与 ClearML 轻松集成,从而简化并增强你对 目标检测 模型的训练和管理。本指南将带你了解整个集成过程,详细说明如何设置 ClearML、管理实验、自动化模型管理以及进行高效协作。

ClearML

ClearML MLOps platform dashboard

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

使用 ClearML 进行 YOLO26 训练

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

安装

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

安装
# Install the required packages for YOLO26 and ClearML
pip install ultralytics clearml

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

配置 ClearML

安装必要的软件包后,下一步是初始化并配置你的 ClearML SDK。这包括设置你的 ClearML 账户并获取必要的凭据,以实现开发环境与 ClearML 服务器之间的顺畅连接。

首先在你的环境中初始化 ClearML SDK。clearml-init 命令会启动设置流程并提示你输入必要的凭据。

初始 SDK 设置
# Initialize your ClearML SDK setup process
clearml-init

执行此命令后,访问 ClearML 设置页面。导航到右上角并选择“Settings”(设置)。进入“Workspace”(工作区)部分,点击“Create new credentials”(创建新凭据)。根据你在 Jupyter Notebook 还是本地 Python 环境中配置 ClearML,使用“Create Credentials”弹窗中提供的凭据按照说明完成设置。

使用方法

在深入了解使用说明之前,请务必查看 Ultralytics 提供的各种 YOLO26 模型。这将有助于你选择最符合项目需求的模型。

使用方法
from clearml import Task

from ultralytics import YOLO

# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolo26_task")

# Step 2: Selecting the YOLO26 Model
model_variant = "yolo26n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLO26 Model
model = YOLO(f"{model_variant}.pt")

# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# Step 5: Initiating Model Training
results = model.train(**args)

理解代码

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

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

第 2 步:选择 YOLO26 模型:将 model_variant 变量设置为 'yolo26n'(YOLO26 模型之一)。然后将该变体记录在 ClearML 中以进行跟踪。

第 3 步:加载 YOLO26 模型:使用 Ultralytics 的 YOLO 类加载所选的 YOLO26 模型,为其训练做好准备。

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

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

理解输出

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

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

查看 ClearML 结果页面

通过点击使用代码片段输出中的 ClearML 结果页面 URL 链接,你可以全面查看模型训练过程。

ClearML 结果页面的主要功能

  • 实时指标跟踪

    • 实时跟踪损失、准确率 和验证分数等关键指标。
    • 为及时调整模型性能提供即时反馈。
  • 实验比较

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

    • 访问综合日志、指标的图形表示以及控制台输出。
    • 加深对模型行为和问题解决的理解。
  • 资源利用率监控

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

    • 查看、下载和共享模型制品,例如训练好的模型和检查点。
    • 增强协作并简化 模型部署 和共享。

如需直观了解 ClearML 结果页面的外观,请观看下方的视频:



Watch: YOLO26 MLOps Integration using ClearML

ClearML 中的高级功能

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

远程执行

ClearML 的远程执行功能有助于在不同机器上复现和操纵实验。它记录了已安装的包和未提交的更改等重要细节。当任务进入队列时,ClearML Agent 会提取它、重建环境并运行实验,同时报告详细结果。

部署 ClearML Agent 非常简单,可以使用以下命令在各种机器上完成:

clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]

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

克隆、编辑和入队

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


Cloning, Editing, and Enqueuing with ClearML

数据集版本管理

ClearML 还提供强大的 数据集版本管理 功能,可与 YOLO26 训练工作流无缝集成。此功能允许你:

  • 将数据集与代码分开进行版本控制
  • 跟踪每个实验所使用的数据集版本
  • 轻松访问和下载最新的数据集版本

要为 ClearML 准备数据集,请按照以下步骤操作:

  1. 使用标准 YOLO 结构(images、labels 等)组织你的数据集

  2. 将相应的 YAML 文件复制到数据集文件夹的根目录下

  3. 使用 ClearML Data 工具上传你的数据集:

    cd your_dataset_folder
    clearml-data sync --project YOLO26 --name your_dataset_name --folder .

此命令将在 ClearML 中创建一个带版本控制的数据集,该数据集可在训练脚本中引用,从而确保可复现性并便于访问你的数据。

总结

本指南引导你完成了将 ClearML 与 Ultralytics YOLO26 集成的过程。从初始设置到高级模型管理,涵盖了所有内容,你已经发现了如何利用 ClearML 在机器学习项目中实现高效的训练、实验跟踪和工作流优化。

有关用法的更多详细信息,请访问 ClearML 的官方 YOLOv8 集成指南,该指南同样适用于 YOLO26 工作流。

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

常见问题 (FAQ)

将 Ultralytics YOLO26 与 ClearML 集成的过程是怎样的?

将 Ultralytics YOLO26 与 ClearML 集成涉及一系列步骤,以精简你的 MLOps 工作流。首先,安装必要的软件包:

pip install ultralytics clearml

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

clearml-init

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

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

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

如何排查 YOLO26 与 ClearML 集成期间的常见问题?

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

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

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

from clearml import Task

from ultralytics import YOLO

# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolo26_task")

# Step 2: Selecting the YOLO26 Model
model_variant = "yolo26n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLO26 Model
model = YOLO(f"{model_variant}.pt")

# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# Step 5: Initiating Model Training
results = model.train(**args)

有关这些步骤的详细说明,请参阅我们的 使用指南

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

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

评论