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 和损失之类的指标、超参数、模型检查点、交互式混淆矩阵以及图像 边界框 预测。

Link to this section通过 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

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,以便将所有实验发送到特定的 Comet 工作区项目,而无需考虑 YOLO 训练参数:

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将 Comet 与 YOLO26 结合使用有什么好处?#

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

  • 监控实时洞察:即时获取训练结果反馈,从而进行快速调整。
  • 记录详尽指标:自动捕获基本指标,如 mAP、损失、超参数和模型检查点。
  • 离线跟踪实验:在无法访问互联网时,在本地记录你的训练运行。
  • 比较不同的训练运行:使用交互式 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"

请参阅 Customizing Comet Logging 部分以获取完整列表,包括图像预测切换、置信度分数缩放以及在线/离线模式。

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

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

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

有关这些功能的详细概述,请访问 Understanding Your Model's Performance with Comet Visualizations 部分。

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" 变量仍然有效,但会发出弃用警告。有关更多详细信息,请参阅 Online and Offline Mode 部分。

评论