Skip to content

提升 YOLO11 训练:使用 Comet ML 简化您的日志记录流程

记录关键的训练细节,如参数、指标、图像预测和模型检查点,在机器学习中至关重要——它使您的项目透明,进度可衡量,结果可重复。

Ultralytics YOLO11 与 Comet ML 无缝集成,高效地捕捉和优化 YOLO11 目标检测模型的训练过程的各个方面。在本指南中,我们将涵盖安装过程、Comet ML 设置、实时洞察、自定义日志记录和离线使用,确保您的 YOLO11 训练得到彻底记录并微调以获得出色的结果。

Comet ML

Comet ML 概述

Comet ML 是一个用于跟踪、比较、解释和优化机器学习模型和实验的平台。它允许您在模型训练期间记录指标、参数、媒体等,并通过美观的网页界面监控您的实验。Comet ML 帮助数据科学家更快迭代,增强透明度和可重复性,并有助于生产模型的开发。

利用 YOLO11 和 Comet ML 的力量

通过将 Ultralytics YOLO11 与 Comet ML 结合,您可以解锁一系列好处。这些包括简化的实验管理、实时洞察以快速调整、灵活和定制的日志记录选项,以及在互联网访问受限时离线记录实验的能力。这种集成使您能够做出数据驱动的决策,分析性能指标,并取得卓越的结果。

安装

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

安装

# 安装 YOLO11 和 Comet ML 所需的包
pip install ultralytics comet_ml torch torchvision

配置 Comet ML

在安装所需的包后,您需要注册,获取 Comet API Key,并进行配置。

配置 Comet ML

# 设置您的 Comet Api Key
export COMET_API_KEY=<您的 API Key>

然后,您可以初始化您的 Comet 项目。Comet 将自动检测 API 密钥并继续设置。

import comet_ml

comet_ml.login(project_name="comet-example-yolov8-coco128")

如果您使用的是 Google Colab 笔记本,上述代码将提示您输入 API 密钥以进行初始化。

使用

在深入使用说明之前,请务必查看 Ultralytics 提供的 YOLO11 模型范围。这将帮助您选择最适合您项目需求的模型。

使用

from ultralytics import YOLO

# 加载模型
model = YOLO("yolo11n.pt")

# 训练模型
results = model.train(
    data="coco8.yaml",
    project="comet-example-yolov8-coco128",
    batch=32,
    save_period=1,
    save_json=True,
    epochs=3,
)

运行训练代码后,Comet ML 将在您的 Comet 工作区中创建一个实验,以自动跟踪运行。然后,您将获得一个链接,以查看您的 YOLO11 模型训练 过程的详细日志记录。

Comet 自动记录以下数据,无需额外配置:指标如 mAP 和损失、超参数、模型检查点、交互式混淆矩阵和图像 边界框 预测。

通过 Comet ML 可视化理解您的模型性能

让我们深入了解一旦您的 YOLO11 模型开始训练,您将在 Comet ML 仪表板上看到的内容。仪表板是所有操作发生的地方,通过视觉和统计数据呈现一系列自动记录的信息。以下是快速导览:

实验面板

Comet ML 仪表板的实验面板部分组织和展示了不同的运行及其指标,如分割掩码损失、类别损失、精确度和 平均精度均值

Comet ML Overview

指标

在指标部分,您可以选择以表格格式查看指标,该格式显示在专用窗格中,如图所示。

Comet ML Overview

交互式混淆矩阵

混淆矩阵位于混淆矩阵选项卡中,提供了一种交互式的方式来评估模型的分类准确性。它详细说明了正确和错误的预测,使您能够了解模型的优势和劣势。

Comet ML Overview

系统指标

Comet ML记录系统指标,以帮助识别训练过程中的任何瓶颈。它包括GPU利用率、GPU内存使用率、CPU利用率和RAM使用率等指标。这些指标对于监控模型训练期间的资源使用效率至关重要。

Comet ML Overview

自定义Comet ML日志记录

Comet ML通过设置环境变量提供了灵活的自定义日志记录行为。这些配置允许您根据特定需求和偏好调整Comet ML。以下是一些有用的自定义选项:

记录图像预测

您可以控制Comet ML在实验期间记录的图像预测数量。默认情况下,Comet ML从验证集中记录100个图像预测。但是,您可以更改此数量以更好地满足您的需求。例如,要记录200个图像预测,请使用以下代码:

import os

os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"

批量日志记录间隔

Comet ML允许您指定记录图像预测批次的频率。COMET_EVAL_BATCH_LOGGING_INTERVAL环境变量控制此频率。默认设置为1,即记录每个验证批次的预测。您可以调整此值以在不同间隔记录预测。例如,将其设置为4将记录每第四个批次的预测。

import os

os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"

禁用混淆矩阵日志记录

在某些情况下,您可能不希望在每个epoch之后从验证集中记录混淆矩阵。您可以通过将COMET_EVAL_LOG_CONFUSION_MATRIX环境变量设置为"false"来禁用此功能。混淆矩阵将仅在训练完成后记录一次。

import os

os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"

离线日志记录

如果您发现自己处于互联网访问受限的情况,Comet ML提供了离线日志记录选项。您可以将COMET_MODE环境变量设置为"offline"以启用此功能。您的实验数据将本地保存在一个目录中,您可以在互联网连接可用时稍后上传到Comet ML。

import os

os.environ["COMET_MODE"] = "offline"

总结

本指南带您了解了将Comet ML与Ultralytics的YOLO11集成。从安装到自定义,您学会了简化实验管理、实时获取洞察力,并根据项目需求调整日志记录。

探索Comet ML的官方文档以获取更多关于与YOLO11集成的见解。

此外,如果您希望深入了解YOLO11的实际应用,特别是针对图像分割任务,这篇关于使用Comet ML微调YOLO11的详细指南提供了宝贵的见解和逐步说明,以提高您的模型性能。

此外,要探索与Ultralytics的其他令人兴奋的集成,请查看集成指南页面,该页面提供了丰富的资源和信息。

常见问题

如何将Comet ML与Ultralytics YOLO11集成进行训练?

要将Comet ML与Ultralytics YOLO11集成,请按照以下步骤操作:

  1. 安装所需包

    pip install ultralytics comet_ml torch torchvision
    
  2. 设置您的Comet API密钥

    export COMET_API_KEY=<Your API Key>
    
    3. 在Python代码中初始化你的Comet项目:

    import comet_ml
    
    comet_ml.login(project_name="comet-example-yolov8-coco128")
    
  3. 训练你的YOLO11模型并记录指标:

    from ultralytics import YOLO
    
    model = YOLO("yolo11n.pt")
    results = model.train(
        data="coco8.yaml",
        project="comet-example-yolov8-coco128",
        batch=32,
        save_period=1,
        save_json=True,
        epochs=3,
    )
    

如需更详细的说明,请参阅Comet ML配置部分

使用Comet ML与YOLO11的好处是什么?

通过将Ultralytics YOLO11与Comet ML集成,你可以:

  • 监控实时洞察:即时获取训练结果反馈,便于快速调整。
  • 记录广泛的指标:自动捕获关键指标,如mAP、损失、超参数和模型检查点。
  • 离线跟踪实验:在无网络访问时本地记录训练运行。
  • 比较不同的训练运行:使用交互式Comet ML仪表板分析和比较多个实验。

通过利用这些功能,你可以优化机器学习工作流程,以获得更好的性能和可重复性。更多信息,请访问Comet ML集成指南

如何在YOLO11训练期间自定义Comet ML的日志记录行为?

Comet ML允许通过环境变量对其日志记录行为进行广泛的自定义:

  • 更改记录的图像预测数量

    import os
    
    os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"
    
  • 调整批次日志记录间隔

    import os
    
    os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"
    
  • 禁用混淆矩阵日志记录

    import os
    
    os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"
    

更多自定义选项,请参阅自定义Comet ML日志记录部分。

如何在Comet ML上查看我的YOLO11训练的详细指标和可视化?

一旦你的YOLO11模型开始训练,你可以在Comet ML仪表板上访问广泛的指标和可视化。关键功能包括:

  • 实验面板:查看不同的运行及其指标,包括分割掩码损失、类别损失和平均精度
  • 指标:以表格格式检查指标,进行详细分析。
  • 交互式混淆矩阵:通过交互式混淆矩阵评估分类准确性。
  • 系统指标:监控GPU和CPU利用率、内存使用情况和其他系统指标。

如需详细概述这些功能,请访问通过Comet ML可视化理解你的模型性能部分。

在训练YOLO11模型时,我可以使用Comet ML进行离线日志记录吗?

是的,你可以通过将COMET_MODE环境变量设置为"offline"来启用Comet ML的离线日志记录:

import os

os.environ["COMET_MODE"] = "offline"

此功能允许你本地记录实验数据,稍后在有网络连接时上传到Comet ML。这在网络访问受限的环境中特别有用。更多详情,请参阅离线日志记录部分。


📅 Created 11 months ago ✏️ Updated 13 days ago

Comments