跳至内容

通过ClearML 培训YOLOv8 :简化 MLOps 工作流程

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

Ultralytics YOLOv8毫不费力地与ClearML 集成,简化并增强了对象检测模型的训练和管理。本指南将指导您完成集成过程,详细介绍如何设置ClearML 、管理实验、自动管理模型以及有效协作。

ClearML

ClearML 概述

ClearML是一个创新的开源 MLOps 平台,其设计巧妙,可实现机器学习工作流的自动化、监控和协调。它的主要功能包括:自动记录所有训练和推理数据,以实现全面的实验可重复性;直观的 Web UI,以方便数据可视化和分析;先进的超参数优化算法;以及强大的模型管理,以实现在各种平台上的高效部署。

YOLOv8 培训与ClearML

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

安装

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

安装

# Install the required packages for YOLOv8 and ClearML
pip install ultralytics clearml

有关安装过程的详细说明和最佳实践,请务必查看我们的YOLOv8 安装指南。在安装YOLOv8 所需的软件包时,如果遇到任何困难,请查阅我们的常见问题指南,了解解决方案和技巧。

配置ClearML

安装完必要的软件包后,下一步就是初始化和配置ClearML SDK。这包括设置ClearML 账户和获取必要的凭证,以便在开发环境和ClearML 服务器之间实现无缝连接。

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

初始 SDK 设置

# Initialize your ClearML SDK setup process
clearml-init

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

使用方法

在了解使用说明之前,请务必查看 Ultralytics 提供的一系列YOLOv8 型号。这将有助于您根据项目要求选择最合适的型号。

使用方法

from clearml import Task
from ultralytics import YOLO

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

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

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

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

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

了解守则

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

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

步骤 2:选择YOLOv8 型号:""""""""""""等字样。 model_variant 变量设置为 "yolov8n",即YOLOv8 模式之一。然后将此变量登录到ClearML 进行跟踪。

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

步骤 4:设置训练论据:关键的训练参数,如数据集 (coco128.yaml)和历元数 (16) 整理成字典,并与ClearML 任务相连。这样就可以通过ClearML UI 进行跟踪和潜在修改。要详细了解模型训练过程和最佳实践,请参阅我们的 YOLOv8 示范培训指南.

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

了解输出

运行上面的使用代码片段后,输出结果如下:

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

查看ClearML 结果页面

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

ClearML 结果页面的主要功能

  • 实时指标跟踪

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

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

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

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

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

有关ClearML 结果页面的直观演示,请观看下面的视频:



观看: YOLOv8 使用 MLOps 集成ClearML

高级功能ClearML

ClearML 提供多种高级功能,可增强您的 MLOps 体验。

远程执行

ClearML的远程执行功能有助于在不同机器上复制和操作实验。它记录已安装软件包和未提交更改等重要细节。当任务被挂起时,ClearML Agent 会将其拉出,重新创建环境并运行实验,同时报告详细结果。

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

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

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

克隆、编辑和排队

ClearML的用户友好界面可以轻松克隆、编辑和启动任务。用户可以克隆现有的实验,通过用户界面调整参数或其他细节,然后排队执行任务。这一简化流程可确保ClearML Agent 在执行任务时使用最新配置,因此非常适合迭代实验和模型微调。


克隆、编辑和排队ClearML

摘要

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

有关使用的详细信息,请访问ClearML 的官方文档

此外,您还可以访问Ultralytics 集成指南页面,了解Ultralytics 的更多集成和功能,该页面是资源和见解的宝库。



创建于 2023-11-29,更新于 2024-02-03
作者:glenn-jocher(5)、abirami-vina(1)

评论