跳至内容

利用YOLOv8 增强实验跟踪和可视化功能Weights & Biases

物体检测模型,如 Ultralytics YOLOv8等物体检测模型已成为许多计算机视觉应用不可或缺的一部分。然而,训练、评估和部署这些复杂的模型会带来一些挑战。跟踪关键训练指标、比较模型变体、分析模型行为和检测问题都需要大量的仪器和实验管理。

本指南展示了 Ultralytics YOLOv8 与 Weights & Biases“,用于增强实验跟踪、模型检查点和模型性能的可视化。它还包括设置集成、训练、微调和可视化结果的说明,使用 Weights & Biases“的互动功能。

Weights & Biases

Weights & Biases 概述

Weights & Biases是一个先进的 MLOps 平台,用于跟踪、可视化和管理机器学习实验。它具有自动记录训练指标以实现全面的实验可重复性、交互式用户界面以简化数据分析,以及高效的模型管理工具以用于在各种环境中部署。

YOLOv8 培训与Weights & Biases

您可以使用Weights & Biases 为您的YOLOv8 培训流程带来效率和自动化。

安装

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

安装

# Install the required packages for YOLOv8 and Weights & Biases
pip install --upgrade ultralytics==8.0.186 wandb

有关安装过程的详细说明和最佳实践,请务必查看我们的YOLOv8 安装指南。在安装YOLOv8 所需的软件包时,如果遇到任何困难,请查阅我们的常见问题指南,了解解决方案和技巧。

配置Weights & Biases

安装必要的软件包后,下一步是设置Weights & Biases 环境。这包括创建Weights & Biases 账户和获取必要的 API 密钥,以便顺利连接开发环境和 W&B 平台。

首先在工作区中初始化Weights & Biases 环境。运行以下命令并按照提示说明操作即可。

初始 SDK 设置

# Initialize your Weights & Biases environment
import wandb
wandb.login()

导航至Weights & Biases 授权页面,创建并获取您的 API 密钥。使用此密钥向 W&B 验证您的环境。

使用方法:培训YOLOv8 Weights & Biases

在使用Weights & Biases 开始YOLOv8 模型培训的使用说明之前,请务必查看 Ultralytics 提供的YOLOv8 模型范围。这将帮助您根据项目要求选择最合适的模型。

使用方法:培训YOLOv8 Weights & Biases

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

# Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")

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

# Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Train and Fine-Tune the Model
model.train(project="ultralytics", data="coco8.yaml", epochs=5, imgsz=640)

# Validate the Model
model.val()

# Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])

# Finalize the W&B Run
wandb.finish()

了解守则

让我们了解上面的使用代码片段中展示的步骤。

  • 步骤 1:初始化Weights & Biases 运行:首先初始化Weights & Biases 运行,指定项目名称和作业类型。该运行将跟踪和管理模型的训练和验证过程。

  • 第 2 步:定义YOLOv8 模型和数据集:指定要使用的模型变体和数据集。然后使用指定的模型文件初始化YOLO 模型。

  • 第 3 步:为Ultralytics 添加Weights & Biases 回调:这一步至关重要,因为它可以将训练指标和验证结果自动记录到Weights & Biases ,提供模型性能的详细视图。

  • 步骤 4:训练和微调模型:使用指定的数据集、历时次数和图像大小开始训练模型。训练过程包括在每个epoch结束时记录指标和预测,从而全面了解模型的学习进度。

  • 步骤 5:验证模型:训练完成后,对模型进行验证。这一步对于评估模型在未见数据上的性能以及确保其通用性至关重要。

  • 步骤 6:执行推理并记录结果:模型对指定图像进行预测。这些预测结果以及视觉叠加和见解会自动记录在 W&B 表中,供交互式探索。

  • 第 7 步:完成 W&B 运行:这一步标志着数据记录的结束,并在 W&B 面板中保存模型训练和验证过程的最终状态。

了解输出

运行上面的使用代码片段后,您可以得到以下主要输出结果:

  • 新运行的设置及其唯一 ID,表示训练过程的开始。
  • 模型结构的简明摘要,包括层数和参数。
  • 在每个训练周期内定期更新重要指标,如 box loss、cls loss、dfl loss、精确度、召回率和 mAP 分数。
  • 训练结束后,将显示详细的指标,包括模型的推理速度和总体准确度指标。
  • 与Weights & Biases 仪表板的链接,用于对培训过程进行深入分析和可视化,以及有关本地日志文件位置的信息。

查看Weights & Biases 控制面板

运行使用代码段后,您可以通过输出中提供的链接访问Weights & Biases (W&B) 面板。通过YOLOv8 ,可以全面查看模型的训练过程。

Weights & Biases 控制面板的主要功能

  • 实时指标跟踪:观察损失、准确率和验证分数等指标在训练过程中的变化,为模型调整提供即时见解。查看如何使用Weights & Biases 跟踪实验

  • 超参数优化:Weights & Biases 可帮助微调学习率、批量大小等关键参数,从而提高YOLOv8 的性能。

  • 比较分析:该平台可对不同的训练运行进行并排比较,这对评估各种模型配置的影响至关重要。

  • 训练进度可视化:通过关键指标的图形表示,可以直观地了解模型在不同时间段的表现。了解Weights & Biases 如何帮助您实现验证结果的可视化

  • 资源监控:跟踪CPU 、GPU 和内存使用情况,优化培训过程的效率。

  • 模型工件管理:访问和共享模型检查点,方便部署和协作。

  • 通过图像叠加查看推理结果:使用Weights & Biases 中的交互式叠加功能,在图像上可视化预测结果,从而清晰详细地查看模型在真实世界数据上的表现。有关Weights & Biases' 图像叠加功能的更多详细信息,请查看此链接了解Weights & Biases' 图像叠加如何帮助可视化模型推论

通过使用这些功能,您可以有效地跟踪、分析和优化YOLOv8 模型的训练,确保最佳的性能和效率。

摘要

本指南帮助您探索 Ultralytics' YOLOv8 与 Weights & Biases.它说明了这种集成能够有效地跟踪和可视化模型训练和预测结果。

有关使用的更多详情,请访问Weights & Biases' 官方文档

此外,请务必查看Ultralytics 集成指南页面,了解更多不同的精彩集成。

常见问题

如何安装YOLOv8 和Weights & Biases 所需的软件包?

要安装YOLOv8 和Weights & Biases 所需的软件包,请打开命令行界面并运行:

pip install --upgrade ultralytics==8.0.186 wandb

有关安装步骤的进一步指导,请参阅我们的YOLOv8 安装指南。如果遇到问题,请查阅常见问题指南,了解故障排除技巧。

将Ultralytics YOLOv8 与Weights & Biases 整合有什么好处?

将Ultralytics YOLOv8 与Weights & Biases 整合可带来多种好处,包括

  • 实时指标跟踪:观察训练过程中的指标变化,即时了解情况。
  • 超参数优化:通过微调学习率、批量大小等来提高模型性能。
  • 比较分析:并排比较不同的训练运行。
  • 资源监控:跟踪CPU 、GPU 和内存使用情况。
  • 模型工件管理:轻松访问和共享模型检查点。

请在Weights & Biases Dashboard 部分详细了解这些功能。

如何为Weights & Biases 配置YOLOv8 培训?

要将Weights & Biases 配置为YOLOv8 培训,请按照以下步骤操作:

  1. 运行命令初始化Weights & Biases :
    import wandb
    wandb.login()
    
  2. 从Weights & Biases 网站获取 API 密钥。
  3. 使用 API 密钥验证开发环境。

详细设置说明请参阅上文 "配置Weights & Biases "部分。

如何使用Weights & Biases 训练YOLOv8 模型?

要使用Weights & Biases 训练YOLOv8 模型,请在Python 脚本中使用以下步骤:

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

# Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")

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

# Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Train and Fine-Tune the Model
model.train(project="ultralytics", data="coco8.yaml", epochs=5, imgsz=640)

# Validate the Model
model.val()

# Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])

# Finalize the W&B Run
wandb.finish()

该脚本初始化Weights & Biases 、设置模型、训练模型并记录结果。更多详情,请访问上面的 "使用方法 "部分。

为什么要使用Weights & Biases Ultralytics YOLOv8 而不是其他平台?

Ultralytics YOLOv8 Weights & Biases 集成,具有多项独特优势:

  • 高效率:实时跟踪培训指标和性能优化。
  • 可扩展性:利用强大的资源监控和利用工具,轻松管理大规模培训工作。
  • 交互性:用户友好的交互式用户界面,用于数据可视化和模型管理。
  • 社区和支持:强大的集成文档和社区支持,以及灵活的定制和增强选项。

有关与Comet 和ClearML 等其他平台的比较,请参阅Ultralytics 集成



创建于 2023-12-28,更新于 2024-07-05
作者:glenn-jocher(10)、ambitious-octopus(1)、IvorZhu331(1)、abirami-vina(1)

评论