跳至内容

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

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

This guide showcases Ultralytics YOLOv8 integration with Weights & Biases' for enhanced experiment tracking, model-checkpointing, and visualization of model performance. It also includes instructions for setting up the integration, training, fine-tuning, and visualizing results using Weights & Biases' interactive features.

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

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

# Step 2: Define the YOLOv8 Model and Dataset
model_name = "yolov8n"
dataset_name = "coco8.yaml"
model = YOLO(f"{model_name}.pt")

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

# Step 4: Train and Fine-Tune the Model
model.train(project="ultralytics", data=dataset_name, epochs=5, imgsz=640)

# Step 5: Validate the Model
model.val()

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

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

了解守则

Let's understand the steps showcased in the usage code snippet above.

  • 步骤 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,表示训练过程的开始。
  • A concise summary of the model's structure, including the number of layers and parameters.
  • 在每个训练周期内定期更新重要指标,如 box loss、cls loss、dfl loss、精确度、召回率和 mAP 分数。
  • 训练结束后,将显示详细的指标,包括模型的推理速度和总体准确度指标。
  • 与Weights & Biases 仪表板的链接,用于对培训过程进行深入分析和可视化,以及有关本地日志文件位置的信息。

查看Weights & Biases 控制面板

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

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

  • Real-Time Metrics Tracking: Observe metrics like loss, accuracy, and validation scores as they evolve during the training, offering immediate insights for model tuning. See how experiments are tracked using Weights & Biases.

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

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

  • Visualization of Training Progress: Graphical representations of key metrics provide an intuitive understanding of the model's performance across epochs. See how Weights & Biases helps you visualize validation results.

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

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

  • Viewing Inference Results with Image Overlay: Visualize the prediction results on images using interactive overlays in Weights & Biases, providing a clear and detailed view of model performance on real-world data. For more detailed information on Weights & Biases' image overlay capabilities, check out this link. See how Weights & Biases' image overlays helps visualize model inferences.

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

摘要

This guide helped you explore Ultralytics' YOLOv8 integration with Weights & Biases. It illustrates the ability of this integration to efficiently track and visualize model training and prediction results.

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

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



Created 2023-12-28, Updated 2024-06-20
Authors: ambitious-octopus (1), glenn-jocher (8), IvorZhu331 (1), abirami-vina (1)

评论