跳至内容

提升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 相结合,您可以获得一系列优势。这些优势包括:简化实验管理、用于快速调整的实时洞察力、灵活和定制的记录选项,以及在互联网访问受限时离线记录实验的能力。这种集成使您能够做出数据驱动的决策、分析性能指标并取得优异成绩。

安装

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

安装

# Install the required packages for YOLO11 and Comet ML
pip install ultralytics comet_ml torch torchvision

配置Comet ML

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

配置Comet ML

# Set your Comet Api Key
export COMET_API_KEY=<Your API Key>

然后,您就可以初始化Comet 项目了。Comet 会自动检测 API 密钥并进行设置。

初始化Comet 项目

import comet_ml

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

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

使用方法

在了解使用说明之前,请务必查看 Ultralytics 提供的一系列YOLO11 型号。这将有助于您根据项目要求选择最合适的型号。

使用方法

from ultralytics import YOLO

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

# Train the model
results = model.train(
    data="coco8.yaml",
    project="comet-example-yolo11-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 概述

衡量标准

在 "指标 "部分,您还可以选择以表格形式检查指标,如图所示,表格会显示在专用窗格中。

Comet ML 概述

交互式混淆矩阵

混淆矩阵可在 "混淆矩阵 "选项卡中找到,它提供了一种评估模型分类准确性的互动方式。它详细列出了正确和错误的预测,让您了解模型的优缺点。

Comet ML 概述

系统指标

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

Comet ML 概述

定制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"

禁用混淆矩阵日志

在某些情况下,您可能不希望在每个 纪元.您可以通过设置 COMET_EVAL_LOG_CONFUSION_MATRIX 环境变量为 "false"。混淆矩阵只会在训练完成后记录一次。

import os

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

离线记录

如果您发现自己的互联网访问受限,Comet ML 提供了离线记录选项。您可以设置 COMET_MODE 环境变量设置为 "脱机 "以启用此功能。您的实验数据将保存在本地的一个目录中,以后有网络连接时,您可以将其上传到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-yolo11-coco128")
    
  4. 训练YOLO11 模型并记录指标

    from ultralytics import YOLO
    
    model = YOLO("yolo11n.pt")
    results = model.train(
        data="coco8.yaml",
        project="comet-example-yolo11-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 ML 中通过设置 COMET_MODE 环境变量为 "脱机":

import os

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

该功能可让您在本地记录实验数据,随后在有互联网连接时将数据上传到Comet ML。在互联网访问受限的环境中工作时,这项功能尤其有用。更多详情,请参阅离线记录部分。

📅创建于 1 年前 ✏️已更新 1 个月前

评论