提升 YOLO11 训练:使用 Comet ML 简化您的日志记录流程
记录关键的训练细节,例如参数、指标、图像预测和模型检查点,在 机器学习 中至关重要——它可以使您的项目保持透明,您的进度可衡量,并且您的结果可重复。
观看: 如何使用 Comet ML 进行 Ultralytics YOLO 模型训练日志和指标 🚀
Ultralytics YOLO11 与 Comet ML 无缝集成,高效地捕获和优化 YOLO11 对象检测 模型训练过程的每个方面。在本指南中,我们将介绍安装过程、Comet ML 设置、实时洞察、自定义日志记录和离线使用,确保您的 YOLO11 训练得到全面记录和微调,以获得出色的结果。
Comet ML
Comet ML 是一个用于跟踪、比较、解释和优化机器学习模型和实验的平台。它允许您在模型训练期间记录指标、参数、媒体等,并通过美观的 Web 界面监控您的实验。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 密钥 并进行配置。
配置 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 notebook,上面的代码将提示您输入 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 仪表板的实验面板部分组织并展示了不同的运行及其指标,例如分割掩码损失、类别损失、精确度和平均精度均值。
指标
在指标部分,您还可以选择以表格格式检查指标,该表格格式显示在专用窗格中,如此处所示。
交互式 混淆矩阵
混淆矩阵位于“Confusion Matrix”选项卡中,提供了一种交互式方法来评估模型的分类准确性。它详细说明了正确和不正确的预测,使您能够了解模型的优势和劣势。
系统指标
Comet ML 记录系统指标,以帮助识别训练过程中的任何瓶颈。它包括 GPU 利用率、GPU 内存使用率、CPU 利用率和 RAM 使用率等指标。这些对于监控模型训练期间的资源使用效率至关重要。
自定义 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 集成,请按照以下步骤操作:
-
安装所需软件包:
pip install ultralytics comet_ml torch torchvision
-
设置您的 Comet API 密钥:
export COMET_API_KEY=YOUR_API_KEY
-
在您的 Python 代码中初始化您的 Comet 项目:
import comet_ml comet_ml.login(project_name="comet-example-yolo11-coco128")
-
训练您的 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
将环境变量设置为“offline”:
import os
os.environ["COMET_MODE"] = "offline"
此功能允许您在本地记录实验数据,稍后可以在互联网连接可用时将其上传到 Comet ML。这在互联网访问受限的环境中特别有用。有关更多详细信息,请参阅Offline Logging部分。