Meet YOLO26: next-gen vision AI.

Link to this section提升 YOLO26 训练体验:使用 Comet 简化你的日志记录流程#

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



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

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

Link to this sectionComet#

Comet ML experiment tracking dashboard

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

Link to this section发挥 YOLO26 与 Comet 的强大威力#

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

Link to this section安装#

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

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

Link to this section配置 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 进行初始化。

Link to this section用法#

在深入了解使用说明之前,请务必查看 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 和 loss 之类的指标、超参数、模型检查点、交互式混淆矩阵以及图像 边界框 预测。

Link to this section通过 Comet 可视化了解你的模型性能#

让我们深入了解一旦你的 YOLO26 模型开始训练,你将在 Comet 仪表板上看到什么。仪表板是所有操作的核心,通过视觉图表和统计数据呈现一系列自动记录的信息。这里是一个快速浏览:

实验面板

Comet 仪表板的实验面板部分组织并呈现了不同的运行过程及其指标,例如分割掩码 loss、类别 loss、精确度以及 平均精度均值

Comet ML experiment tracking dashboard

Metrics(指标)

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

Comet ML experiment tracking dashboard

交互式 混淆矩阵

可以在“混淆矩阵”选项卡中找到的混淆矩阵,提供了一种评估模型分类 准确率 的交互式方式。它详细说明了正确和错误的预测,让你能够理解模型的长处和短板。

Comet ML experiment tracking dashboard

系统指标

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

Comet ML experiment tracking dashboard

Link to this section自定义 Comet 日志记录#

Comet 通过设置环境变量提供了自定义其日志记录行为的灵活性。这些配置允许你根据自己的具体需求和偏好来定制 Comet。Ultralytics 回调函数会读取以下环境变量(请在训练开始前设置它们):

环境变量默认值描述
COMET_START_ONLINE1以在线 (1) 或离线 (0) 模式运行实验。
COMET_PROJECT_NAMEargs.projectComet 工作区项目。若未设置,将回退至 YOLO project 训练参数。
COMET_MODEL_NAMEUltralytics为记录的模型产物注册的名称。
COMET_MAX_IMAGE_PREDICTIONS100每次运行记录的验证图像预测总数。
COMET_EVAL_BATCH_LOGGING_INTERVAL1每隔 N 个验证批次记录一次图像预测。
COMET_EVAL_LOG_IMAGE_PREDICTIONStrue开启 (true) 或关闭 (false) 图像预测日志记录。
COMET_EVAL_LOG_CONFUSION_MATRIXfalse在每个验证 epoch 记录混淆矩阵。最终矩阵总是在训练结束时记录。
COMET_MAX_CONFIDENCE_SCORE100.0记录前应用于检测置信度得分的乘数(Comet 的 UI 期望百分比刻度)。
COMET_MODE (已弃用)onlineCOMET_START_ONLINE 的旧版别名("online"1"offline"0)。会触发弃用警告。

Link to this section记录图像预测#

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

import os

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

若要完全禁用图像预测日志记录(例如为了减少在慢速连接上的上传量),请将 COMET_EVAL_LOG_IMAGE_PREDICTIONS 设置为 "false"

import os

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

Link to this section批次日志记录间隔#

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

import os

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

Link to this section禁用混淆矩阵日志记录#

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

import os

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

Link to this section在线和离线模式#

默认情况下,Comet 在线运行并将实验数据流式传输到 Comet 服务器。如果你需要在没有互联网连接的情况下进行训练,请在训练开始前设置 COMET_START_ONLINE=0。实验数据将保存在本地,稍后可以使用 comet upload CLI 进行上传。

import os

os.environ["COMET_START_ONLINE"] = "0"  # 1 (default) = online, 0 = offline
`COMET_MODE` 已弃用

早期版本为此目的使用了 COMET_MODE="offline"。该变量为保持向后兼容性仍然有效,但会触发弃用警告。请在未来使用 COMET_START_ONLINE

Link to this section项目名称#

默认情况下,Comet 回调函数会将 YOLO project 训练参数传递给 Comet(如果参数未设置则为 None,此时 Comet 使用你的工作区默认值)。使用 COMET_PROJECT_NAME 覆盖此设置,无论 YOLO 训练参数如何,都将所有实验发送到特定的 Comet 工作区项目:

import os

os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"

Link to this section模型产物名称#

COMET_MODEL_NAME 设置 Comet 为记录的模型产物注册的名称(默认为 Ultralytics)。使用它可以在共享工作区中区分模型变体:

import os

os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"

Link to this section置信度得分缩放#

检测置信度得分以 [0, 1] 范围输出,但 Comet UI 默认以百分比刻度显示。回调函数会在记录前将每个得分乘以 COMET_MAX_CONFIDENCE_SCORE(默认 100.0)。如果你更倾向于原始概率或不同的刻度,请调整此值:

import os

os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0"  # log raw [0, 1] scores

Link to this section总结#

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

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

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

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

Link to this section常见问题解答#

Link to this section如何将 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 配置部分

Link to this section在 YOLO26 中使用 Comet 有什么好处?#

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

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

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

Link to this section如何在 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 项目名称

    import os
    
    os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"
  • 设置记录的模型产物名称

    import os
    
    os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"

请参阅 自定义 Comet 日志记录 部分以获取完整列表,包括图像预测开关、置信度得分缩放以及在线/离线模式。

Link to this section如何在 Comet 上查看 YOLO26 训练的详细指标和可视化效果?#

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

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

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

Link to this section我可以在训练 YOLO26 模型时使用 Comet 进行离线记录吗?#

可以。在训练开始前设置 COMET_START_ONLINE=0 以在本地记录:

import os

os.environ["COMET_START_ONLINE"] = "0"

实验数据保存在磁盘上,稍后在有网络连接时,可以使用 comet upload CLI 将其上传到 Comet。旧版 COMET_MODE="offline" 变量仍然有效,但会触发弃用警告。有关更多详细信息,请参阅 在线和离线模式 部分。

评论