跳至内容

通过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 服务器之间实现无缝连接。

Begin by initializing the ClearML SDK in your environment. The 'clearml-init' command starts the setup process and prompts you for the necessary credentials.

初始 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="coco8.yaml", epochs=16)
task.connect(args)

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

了解守则

Let's understand the steps showcased in the usage code snippet above.

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

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

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

步骤 4:设置训练论据:关键的训练参数,如数据集 (coco8.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 的更多集成和功能,该页面是资源和见解的宝库。



Created 2023-11-29, Updated 2024-06-09
Authors: IvorZhu331 (1), glenn-jocher (9), abirami-vina (1)

评论