提升 YOLO26 训练:使用 Comet 简化你的日志记录流程

记录参数、指标、图像预测和模型检查点等关键训练详情在机器学习中至关重要——它能保持项目的透明度、使进度可衡量,并确保结果可复现。



Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀

Ultralytics YOLO26 与 Comet(原 Comet ML)无缝集成,可高效捕获并优化 YOLO26 目标检测模型训练过程的方方面面。在本指南中,我们将介绍安装流程、Comet 设置、实时洞察、自定义日志记录和离线使用,确保你的 YOLO26 训练过程得到详尽记录,并为获得卓越结果而进行微调。

Comet

Comet ML experiment tracking dashboard

Comet 是一个用于跟踪、比较、解释和优化机器学习模型及实验的平台。它允许你在模型训练期间记录指标、参数、媒体等内容,并通过美观的 Web 界面监控你的实验。Comet 有助于数据科学家更快速地进行迭代,提高透明度和可复现性,并协助开发生产模型。

利用 YOLO26 和 Comet 的强大功能

通过将 Ultralytics YOLO26 与 Comet 结合,你可以获得一系列好处。其中包括简化的实验管理、用于快速调整的实时洞察、灵活且量身定制的日志记录选项,以及在网络受限时离线记录实验的能力。这种集成使你能够做出数据驱动的决策,分析性能指标,并取得出色的结果。

安装

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

安装
# Install the required packages for YOLO26 and Comet
pip install ultralytics comet_ml torch torchvision

配置 Comet

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

配置 Comet
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEY

然后,你可以初始化你的 Comet 项目。Comet 将自动检测 API key 并继续进行设置。

初始化 Comet 项目
import comet_ml

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

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

使用方法

在深入了解使用说明之前,请务必查看 Ultralytics 提供的 YOLO26 模型系列。这将帮助你选择最适合项目需求的一款模型。

使用方法
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

# Train the model
results = model.train(
    data="coco8.yaml",
    project="comet-example-yolo26-coco128",
    batch=32,
    save_period=1,
    save_json=True,
    epochs=3,
)

运行训练代码后,Comet 将在你的 Comet 工作空间中创建一个实验来自动跟踪该运行。随后你将获得一个链接,用以查看 YOLO26 模型训练过程的详细日志。

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

通过 Comet 可视化了解你的模型性能

让我们深入了解 YOLO26 模型开始训练后你在 Comet 仪表板上会看到的内容。仪表板是所有操作发生的地方,通过视觉效果和统计数据展示一系列自动记录的信息。这里有一个快速导览:

实验面板

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

Comet ML experiment tracking dashboard

指标

在指标部分,你还可以选择以表格格式查看指标,正如在此处所示的专用窗格中展示的那样。

Comet ML experiment tracking dashboard

交互式混淆矩阵

位于“混淆矩阵”选项卡中的混淆矩阵提供了一种评估模型分类准确率的交互方式。它详细说明了正确和错误的预测,让你了解模型的优势和弱点。

Comet ML experiment tracking dashboard

系统指标

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

Comet ML experiment tracking dashboard

自定义 Comet 日志记录

Comet 提供通过设置环境变量来自定义其日志记录行为的灵活性。这些配置使你能够根据具体需求和偏好调整 Comet。以下是一些有用的自定义选项:

记录图像预测

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

import os

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

批次日志记录间隔

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

import os

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

禁用混淆矩阵日志记录

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

import os

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

离线日志记录

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

import os

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

总结

本指南已带你完成了将 Comet 与 Ultralytics 的 YOLO26 集成的过程。从安装到自定义,你已经学会了如何简化实验管理、获得实时洞察,并根据项目需求调整日志记录。

探索 Comet 的官方 YOLOv8 集成文档,该文档同样适用于 YOLO26 项目。

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

另外,要探索与 Ultralytics 的其他精彩集成,请查看 集成指南页面,其中提供了丰富的资源和信息。

常见问题 (FAQ)

如何将 Comet 与 Ultralytics YOLO26 集成以进行训练?

要将 Comet 与 Ultralytics YOLO26 集成,请遵循以下步骤:

  1. 安装所需的包

    pip install ultralytics comet_ml torch torchvision
  2. 设置你的 Comet API Key

    export COMET_API_KEY=YOUR_API_KEY
  3. 在你的 Python 代码中初始化 Comet 项目

    import comet_ml
    
    comet_ml.login(project_name="comet-example-yolo26-coco128")
  4. 训练你的 YOLO26 模型并记录指标

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

有关更详细的说明,请参考 Comet 配置部分

将 Comet 与 YOLO26 一起使用有什么好处?

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

  • 监控实时洞察:即时获得训练结果反馈,从而进行快速调整。
  • 记录详尽指标:自动捕获 mAP、损失、超参数和模型检查点等基本指标。
  • 离线跟踪实验:在无法访问网络时在本地记录你的训练运行。
  • 比较不同训练运行:使用交互式 Comet 仪表板来分析和比较多个实验。

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

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

Comet 允许使用环境变量对其日志记录行为进行深度自定义:

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

    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 日志记录 部分以获取更多自定义选项。

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

一旦你的 YOLO26 模型开始训练,你就可以在 Comet 仪表板上访问各种指标和可视化效果。主要功能包括:

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

有关这些功能的详细概述,请访问 通过 Comet 可视化了解你的模型性能 部分。

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

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

import os

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

此功能允许你在本地记录实验数据,稍后在网络可用时,你可以将其上传到 Comet。这在网络受限的环境中工作时特别有用。有关更多详细信息,请参考 离线日志记录 部分。

评论