通过ClearML 培训 YOLO11:简化 MLOps 工作流程
MLOps 弥补了在实际环境中创建和部署机器学习模型之间的差距。它侧重于高效部署、可扩展性和持续管理,以确保模型在实际应用中表现良好。
Ultralytics YOLO11可以毫不费力地与ClearML 集成,从而简化并增强对象检测模型的训练和管理。本指南将指导您完成集成过程,详细介绍如何设置ClearML 、管理实验、自动管理模型以及有效协作。
ClearML
ClearML是一个创新的开源 MLOps 平台,其设计巧妙,可实现机器学习工作流的自动化、监控和协调。它的主要功能包括:自动记录所有训练和推理数据,以实现全面的实验可重复性;直观的 Web UI,以方便数据可视化和分析;先进的超参数优化算法;以及强大的模型管理,以实现在各种平台上的高效部署。
YOLO11 培训与ClearML
通过将 YOLO11 与ClearML 集成,您可以改进训练流程,从而为机器学习工作流程带来自动化和效率。
安装
要安装所需的软件包,请运行
有关安装过程的详细说明和最佳实践,请务必查看我们的YOLO11 安装指南。在安装 YOLO11 所需软件包时,如果遇到任何困难,请查阅我们的常见问题指南,了解解决方案和提示。
配置ClearML
安装完必要的软件包后,下一步就是初始化和配置ClearML SDK。这包括设置ClearML 账户和获取必要的凭证,以便在开发环境和ClearML 服务器之间实现无缝连接。
首先在您的环境中初始化ClearML SDK。clearml-init "命令会启动设置过程,并提示您输入必要的凭据。
执行该命令后,访问ClearML 设置页面。导航至右上角并选择 "设置"。转到 "工作区 "部分,点击 "创建新凭证"。根据您是在 Jupyter Notebook 还是本地Python 环境中配置ClearML ,使用 "创建凭据 "弹出窗口中提供的凭据按说明完成设置。
使用方法
在了解使用说明之前,请务必查看 Ultralytics 提供的 YOLO11 型号范围。这将有助于您根据项目要求选择最合适的型号。
使用方法
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 YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 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:选择 YOLO11 型号:""""""""""""等字样。 model_variant
变量设置为 "yolo11n",即 YOLO11 型号之一。然后将此变量登录ClearML 进行跟踪。
第 3 步:加载 YOLO11 模型:使用Ultralytics'YOLO 类加载选定的 YOLO11 模型,为训练做好准备。
步骤 4:设置训练论据:关键的训练参数,如数据集 (coco8.yaml
)和 纪元 (16
) 整理成字典,并与ClearML 任务相连。这样就可以通过ClearML UI 进行跟踪和潜在修改。要详细了解模型训练过程和最佳实践,请参阅我们的 YOLO11 模型培训指南.
步骤 5:启动模型培训:使用指定参数开始模型训练。训练过程的结果保存在 results
变量。
了解输出
运行上面的使用代码片段后,输出结果如下:
- 一条确认信息,表明创建了一个新的ClearML 任务,并提供了该任务的唯一 ID。
- 关于存储脚本代码的信息提示,表明ClearML 正在跟踪代码执行情况。
- 指向ClearML 结果页面的 URL 链接,您可在此监控训练进度并查看详细日志。
- 下载 YOLO11 模型和指定数据集的进度,然后是模型架构和训练配置的摘要。
- 各种训练组件的初始化信息,如 TensorBoard、自动混合精度(AMP) 和数据集准备。
- 最后,训练过程开始,模型在指定数据集上进行训练时会更新进度。要深入了解训练过程中使用的性能指标,请阅读我们的性能指标指南。
查看ClearML 结果页面
点击使用代码片段输出中的ClearML 结果页面 URL 链接,就可以全面查看模型的训练过程。
ClearML 结果页面的主要功能
实时指标跟踪
- 跟踪发生的损失、准确性和验证分数等关键指标。
- 提供即时反馈,以便及时调整模型性能。
实验比较
- 并排比较不同的训练运行。
- 对于超参数调整和确定最有效的模型至关重要。
详细日志和输出
- 访问综合日志、指标图形表示法和控制台输出。
- 加深对模特行为和问题解决的理解。
资源利用监测
- 监控计算资源的使用情况,包括CPU 、GPU 和内存。
- 优化培训效率和成本的关键。
模型工件管理
- 查看、下载和共享模型工件,如训练有素的模型和检查点。
- 加强协作,简化模型部署和共享。
有关ClearML 结果页面的直观演示,请观看下面的视频:
观看: 使用 YOLO11 MLOps 集成ClearML
高级功能ClearML
ClearML 提供多种高级功能,可增强您的 MLOps 体验。
远程执行
ClearML的远程执行功能有助于在不同机器上复制和操作实验。它记录已安装软件包和未提交更改等重要细节。当任务被挂起时,ClearML Agent 会将其拉出,重新创建环境并运行实验,同时报告详细结果。
部署ClearML Agent 非常简单,可使用以下命令在不同机器上完成:
这种设置适用于云虚拟机、本地 GPU 或笔记本电脑。ClearML 自动扩展器可帮助管理 AWS、GCP 和 Azure 等平台上的云工作负载,自动部署代理并根据资源预算调整资源。
克隆、编辑和排队
ClearML的用户友好界面可以轻松克隆、编辑和启动任务。用户可以克隆现有的实验,通过用户界面调整参数或其他细节,然后排队执行任务。这一简化流程可确保ClearML Agent 在执行任务时使用最新配置,因此非常适合迭代实验和模型微调。
摘要
本指南将引导您完成将ClearML 与Ultralytics' YOLO11 集成的过程。从初始设置到高级模型管理,您将发现如何在机器学习项目中利用ClearML 进行高效训练、实验跟踪和工作流优化。
有关使用的详细信息,请访问ClearML 的官方文档。
此外,您还可以访问Ultralytics 集成指南页面,了解Ultralytics 的更多集成和功能,该页面是资源和见解的宝库。
常见问题
Ultralytics YOLO11 与ClearML 的集成过程是怎样的?
Ultralytics YOLO11 与ClearML 的集成涉及一系列简化 MLOps 工作流程的步骤。首先,安装必要的软件包:
接下来,在环境中使用ClearML SDK 初始化:
然后,您可以在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
# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")
# Step 2: Selecting the YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 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 中查看 YOLO11 培训的结果吗?
使用ClearML 运行 YOLO11 训练脚本后,您可以在ClearML 结果页面上查看结果。输出结果将包括一个指向ClearML 控制面板的 URL 链接,您可以在该控制面板上跟踪指标、比较实验和监控资源使用情况。有关如何查看和解释结果的详细信息,请查看我们的 "查看ClearML 结果页面"部分。