使用 ClearML 训练 YOLO11:简化您的 MLOps 工作流程
MLOps 弥合了在真实环境中创建和部署机器学习模型之间的差距。它侧重于高效部署、可扩展性和持续管理,以确保模型在实际应用中表现良好。
Ultralytics YOLO11 可与 ClearML 无缝集成,从而简化和增强您的目标检测模型的训练和管理。本指南将引导您完成集成过程,详细介绍如何设置 ClearML、管理实验、自动化模型管理以及有效协作。
ClearML
ClearML 是一个创新的开源 MLOps 平台,它经过精心设计,可以自动化、监控和协调机器学习工作流程。其主要功能包括自动记录所有训练和推理数据以实现完整的实验可重复性、一个直观的 Web UI 以方便数据可视化和分析、高级超参数优化算法以及强大的模型管理,以便在各种平台上高效部署。
使用 ClearML 进行 YOLO11 训练
通过将 YOLO11 与 ClearML 集成,改进您的训练过程,您可以为您的机器学习工作流程带来自动化和效率。
安装
要安装所需的软件包,请运行:
安装
# Install the required packages for YOLO11 and ClearML
pip install ultralytics clearml
有关安装过程的详细说明和最佳实践,请务必查看我们的 YOLO11 安装指南。在为 YOLO11 安装所需软件包时,如果遇到任何困难,请查阅我们的 常见问题指南 以获取解决方案和提示。
配置 ClearML
安装必要的软件包后,下一步是初始化和配置您的 ClearML SDK。这包括设置您的 ClearML 帐户并获取必要的凭据,以便在您的开发环境和 ClearML 服务器之间建立无缝连接。
首先在您的环境中初始化 ClearML SDK。“clearml-init”命令会启动设置过程,并提示您输入必要的凭据。
初始 SDK 设置
# Initialize your ClearML SDK setup process
clearml-init
执行此命令后,请访问 ClearML 设置页面。导航到右上角并选择“Settings”。转到“Workspace”部分,然后单击“Create new credentials”。使用“Create Credentials”弹出窗口中提供的凭据完成设置,具体取决于您是在 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 模型: The 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 Agent 非常简单,可以使用以下命令在各种机器上完成:
clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]
此设置适用于云 VM、本地 GPU 或笔记本电脑。ClearML Autoscalers 帮助管理 AWS、GCP 和 Azure 等平台上的云工作负载,从而根据您的资源预算自动执行代理的部署和调整资源。
克隆、编辑和排队
ClearML 的用户友好界面允许轻松克隆、编辑和排队任务。用户可以克隆现有实验,通过 UI 调整参数或其他详细信息,并将任务排队以供执行。这种简化的流程确保执行任务的 ClearML Agent 使用更新的配置,使其成为迭代实验和模型微调的理想选择。
数据集版本管理
ClearML 还提供强大的 数据集版本管理 功能,可与 YOLO11 训练工作流程无缝集成。此功能允许您:
- 将数据集与代码分开进行版本控制
- 跟踪每个实验使用的数据集版本
- 轻松访问和下载最新的数据集版本
要为 ClearML 准备您的数据集,请按照以下步骤操作:
- 使用标准的 YOLO 结构(图像、标签等)组织您的数据集
- 将相应的 YAML 文件复制到数据集文件夹的根目录
-
使用 ClearML Data 工具上传数据集:
cd your_dataset_folder clearml-data sync --project YOLOv11 --name your_dataset_name --folder .
此命令将在 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
# 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 结果页面的部分。