跳至内容

使用 DVCLive 进行高级YOLOv8 实验跟踪

机器学习中的实验跟踪对模型开发和评估至关重要。它包括记录和分析来自无数次训练运行的各种参数、指标和结果。这一过程对于了解模型性能、做出数据驱动的决策以完善和优化模型至关重要。

将 DVCLive 与 Ultralytics YOLOv8的集成改变了跟踪和管理实验的方式。这种集成为自动记录关键实验细节、比较不同运行的结果以及可视化数据以进行深入分析提供了无缝解决方案。在本指南中,我们将了解如何使用 DVCLive 来简化流程。

DVCLive

DVCLive 概览

DVCLive 由 DVC 开发,是一款用于机器学习实验跟踪的创新型开源工具。它与 Git 和 DVC 无缝集成,可自动记录模型参数和训练指标等关键实验数据。DVCLive 设计简洁,可轻松比较和分析多个运行,通过直观的数据可视化和分析工具提高机器学习项目的效率。

YOLOv8 使用 DVCLive 进行培训

YOLOv8 通过 DVCLive,可以有效监控训练课程。此外,DVC 还为这些实验的可视化提供了不可或缺的功能,包括生成报告,对所有跟踪实验的指标图进行比较,从而全面了解训练过程。

安装

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

安装

# Install the required packages for YOLOv8 and DVCLive
pip install ultralytics dvclive

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

配置 DVCLive

安装完必要的软件包后,下一步就是使用必要的凭证设置和配置您的环境。这一设置可确保 DVCLive 与现有工作流程的顺利整合。

首先初始化一个 Git 仓库,因为 Git 在代码和 DVCLive 配置的版本控制中起着至关重要的作用。

初始环境设置

# Initialize a Git repository
git init -q

# Configure Git with your details
git config --local user.email "you@example.com"
git config --local user.name "Your Name"

# Initialize DVCLive in your project
dvc init -q

# Commit the DVCLive setup to your Git repository
git commit -m "DVC init"

在这些命令中,请确保将 "you@example.com "替换为与 Git 账户关联的电子邮件地址,将 "Your Name "替换为 Git 账户的用户名。

使用方法

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

使用 DVCLive 训练YOLOv8 模型

首先运行YOLOv8 培训课程。您可以使用不同的模型配置和培训参数来满足您的项目需求。例如

# Example training commands for YOLOv8 with varying configurations
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=512
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=640

根据具体要求调整模型、数据、历时和 imgsz 参数。要详细了解模型训练过程和最佳实践,请参阅我们的YOLOv8 模型训练指南

使用 DVCLive 监控实验

DVCLive 支持关键指标的跟踪和可视化,从而增强了培训过程。安装后,Ultralytics YOLOv8 会自动与 DVCLive 集成,以进行实验跟踪,随后您可以对其进行分析,以深入了解性能。要全面了解培训过程中使用的特定性能指标,请务必浏览我们的性能指标详细指南

分析结果

YOLOv8 培训课程结束后,您可以利用 DVCLive 强大的可视化工具对结果进行深入分析。DVCLive 的集成可确保系统地记录所有培训指标,便于对模型性能进行全面评估。

要开始分析,可以使用 DVC 的应用程序接口提取实验数据,并使用 Pandas 对其进行处理,以便于处理和可视化:

import dvc.api
import pandas as pd

# Define the columns of interest
columns = ["Experiment", "epochs", "imgsz", "model", "metrics.mAP50-95(B)"]

# Retrieve experiment data
df = pd.DataFrame(dvc.api.exp_show(), columns=columns)

# Clean the data
df.dropna(inplace=True)
df.reset_index(drop=True, inplace=True)

# Display the DataFrame
print(df)

上面代码片段的输出以表格形式清楚地显示了使用YOLOv8 模型进行的不同实验。每一行代表不同的训练运行,详细列出了实验名称、历时次数、图像大小 (imgsz)、使用的特定模型以及 mAP50-95(B) 指标。该指标对评估模型的准确性至关重要,数值越高,表示性能越好。

使用 Plotly 可视化结果

要想对实验结果进行更加互动和直观的分析,可以使用 Plotly 的平行坐标图。这种图对于理解不同参数和指标之间的关系和权衡尤为有用。

from plotly.express import parallel_coordinates

# Create a parallel coordinates plot
fig = parallel_coordinates(df, columns, color="metrics.mAP50-95(B)")

# Display the plot
fig.show()

上述代码片段的输出结果将生成一幅图,直观地表示历时、图像大小、模型类型及其相应的 mAP50-95(B) 分数之间的关系,使您能够发现实验数据中的趋势和模式。

使用 DVC 生成比较可视化效果

DVC 提供了一个有用的命令,用于生成实验对比图。这对于比较不同模型在不同训练运行中的性能特别有用。

# Generate DVC comparative plots
dvc plots diff $(dvc exp list --names-only)

执行该命令后,DVC 会生成比较不同实验指标的图表,并保存为 HTML 文件。下面的示例图片说明了这一过程生成的典型图表。该图展示了各种图表,包括表示 mAP、召回率、精确度、损失值等的图表,提供了关键性能指标的可视化概览:

DVCLive Plots

显示 DVC 地块

如果您使用的是 Jupyter Notebook,并希望显示生成的 DVC 图,可以使用 IPython 显示功能。

from IPython.display import HTML

# Display the DVC plots as HTML
HTML(filename="./dvc_plots/index.html")

该代码将在您的 Jupyter Notebook 中直接呈现包含 DVC 图的 HTML 文件,为分析可视化实验数据提供了一种简单方便的方法。

做出数据驱动的决策

利用从这些可视化中获得的洞察力,就模型优化、超参数调整和其他修改做出明智的决策,以提高模型的性能。

迭代实验

根据分析结果,反复进行实验。调整模型配置、训练参数甚至数据输入,并重复训练和分析过程。这种迭代方法是完善模型以获得最佳性能的关键。

摘要

本指南将引导您完成将 DVCLive 与Ultralytics'YOLOv8 集成的过程。您已经了解了如何利用 DVCLive 的强大功能,在机器学习工作中进行详细的实验监控、有效的可视化和深入的分析。

有关使用的更多详情,请访问DVCLive 的官方文档

此外,您还可以访问Ultralytics 集成指南页面,了解Ultralytics 的更多集成和功能,该页面汇集了大量资源和见解。



创建于 2023-11-30,更新于 2024-05-18
作者:glenn-jocher(1)、abirami-vina(1)

评论