跳至内容

通过YOLOv8与 TensorBoard 的集成获得可视化洞察力

当您仔细观察Ultralytics'YOLOv8等计算机视觉模型的训练过程时,就能更直观地理解和微调这些模型。模型训练可视化有助于深入了解模型的学习模式、性能指标和整体行为。YOLOv8与 TensorBoard 的集成使可视化和分析过程变得更简单,并能对模型进行更高效、更明智的调整。

本指南介绍如何通过YOLOv8 使用 TensorBoard。您将了解从跟踪指标到分析模型图的各种可视化方法。这些工具将帮助您更好地了解YOLOv8 模型的性能。

张量板

张量板概述

TensorFlow 的可视化工具包TensorBoard 对机器学习实验至关重要。TensorBoard 拥有一系列可视化工具,对于监控机器学习模型至关重要。这些工具包括跟踪损失和准确率等关键指标、可视化模型图和查看weights and biases 随时间变化的直方图。它还提供了将嵌入投影到低维空间和显示多媒体数据的功能。

YOLOv8 使用 TensorBoard 进行训练

在训练YOLOv8 模型时使用 TensorBoard 非常简单,而且优势显著。

安装

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

安装

# Install the required package for YOLOv8 and Tensorboard
pip install ultralytics

TensorBoard 预装了YOLOv8 ,无需为可视化目的进行额外设置,非常方便。

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

为 Google Colab 配置 TensorBoard

使用 Google Colab 时,重要的是在开始训练代码前设置好 TensorBoard:

为 Google Colab 配置 TensorBoard

%load_ext tensorboard
%tensorboard --logdir path/to/runs

使用方法

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

使用方法

```python

从ultralytics 导入YOLO

# 加载预训练模型 model =YOLO('yolov8n.pt')

# 训练模型 results = model.train(data='coco8.yaml', epochs=100, imgsz=640) ```

运行上面的使用代码片段后,输出结果如下:

TensorBoard: Start with 'tensorboard --logdir path_to_your_tensorboard_logs', view at http://localhost:6006/

此输出表明 TensorBoard 正在主动监控您的YOLOv8 训练会话。您可以访问提供的 URL (http://localhost:6006/) 访问 TensorBoard 面板,查看实时训练指标和模型性能。对于在 Google Colab 中工作的用户,TensorBoard 将显示在您执行 TensorBoard 配置命令的同一单元格中。

有关模型训练过程的更多信息,请务必查看我们的YOLOv8 模型训练指南。如果您想了解更多关于日志、检查点、绘图和文件管理的信息,请阅读我们的配置使用指南

了解用于YOLOv8 培训的 TensorBoard

现在,让我们结合YOLOv8 培训,重点了解 TensorBoard 的各种功能和组件。TensorBoard 的三个关键部分是时间序列、标量和图形。

时间序列

TensorBoard 中的时间序列功能可为YOLOv8 模型提供随时间变化的各种训练指标的动态详细视角。它重点关注各训练历元指标的进展和趋势。以下是您可以看到的示例。

图像

TensorBoard 中时间序列的主要功能

  • 过滤标签和固定卡片:该功能可让用户过滤特定指标和钉卡,以便快速比较和访问。这对于关注培训过程的特定方面特别有用。

  • 详细的指标卡:时间序列将指标分为不同的类别,如学习率 (lr)、训练 (train) 和验证 (val) 指标,每个指标都由单独的卡片表示。

  • 图形显示:时间序列部分的每张卡片都显示了培训过程中特定指标的详细图表。这种可视化显示有助于识别培训过程中的趋势、模式或异常情况。

  • 深入分析:时间序列可对每个指标进行深入分析。例如,显示不同的学习率分段,让人深入了解学习率的调整如何影响模型的学习曲线。

时间序列在YOLOv8 培训中的重要性

时间序列部分对于全面分析YOLOv8 模型的训练进度至关重要。您可以通过它实时跟踪指标,及时发现并解决问题。它还提供了每个指标进展的详细视图,这对微调模型和提高其性能至关重要。

疤痕

在YOLOv8 模型的训练过程中,TensorBoard 中的刻度对于绘制和分析损失和准确率等简单指标至关重要。它们可以清晰简明地显示这些指标是如何随着每个训练历元的变化而变化的,从而帮助我们深入了解模型的学习效果和稳定性。以下是您可以看到的示例。

图像

TensorBoard 中标量的主要功能

  • 学习率 (lr) 标签:这些标签显示了不同细分市场中学习率的变化(例如......)、 pg0, pg1, pg2).这有助于我们理解学习率调整对训练过程的影响。

  • 指标标签:标准包括以下绩效指标

    • mAP50 (B):50%交集大于联合(IoU)时的平均精度,这是评估物体检测精度的关键。

    • mAP50-95 (B):平均精度: 在一系列 IoU 阈值下计算的平均精度,提供更全面的精度评估。

    • Precision (B):表示正确预测正观测值的比率,是了解预测准确性的关键。

    • Recall (B):该指标衡量检测所有相关实例的能力,对于漏检现象严重的模型非常重要。

    • 要了解有关不同指标的更多信息,请阅读我们的绩效指标指南。

  • 培训和验证标签 (train, val):这些标签专门显示训练数据集和验证数据集的指标,以便对不同数据集的模型性能进行比较分析。

监控刻度的重要性

观察标量指标对于微调YOLOv8 模型至关重要。这些指标的变化,如损失图中的尖峰或不规则模式,可以突出显示潜在的问题,如过拟合、欠拟合或学习率设置不当。通过密切监控这些标量,您可以做出明智的决策来优化训练过程,确保模型有效学习并达到预期性能。

标量与时间序列的区别

虽然 TensorBoard 中的标量和时间序列都用于跟踪指标,但它们的用途略有不同。标量侧重于将损失和准确率等简单指标绘制成标量值。它们提供了这些指标如何随每个训练历元变化的高级概览。而 TensorBoard 的时间序列部分则提供了各种指标更详细的时间轴视图。它对于监控指标随时间变化的进展和趋势特别有用,可以更深入地了解训练过程的具体情况。

图表

TensorBoard 的图形部分可视化YOLOv8 模型的计算图,显示操作和数据如何在模型内流动。它是了解模型结构、确保所有层正确连接以及识别数据流中任何潜在瓶颈的有力工具。以下是您可以看到的示例。

图像

图谱对调试模型特别有用,尤其是在深度学习模型中典型的复杂架构中,如YOLOv8 。它们有助于验证层连接和模型的整体设计。

摘要

本指南旨在帮助您使用 TensorBoard 和YOLOv8 对机器学习模型训练进行可视化和分析。它重点解释了 TensorBoard 的关键功能如何在YOLOv8 训练过程中深入了解训练指标和模型性能。

如需更详细地了解这些功能和有效的使用策略,请参阅TensorFlow的TensorBoard官方文档和他们的GitHub 存储库

想进一步了解Ultralytics 的各种集成功能吗?请访问Ultralytics 集成指南页面,了解还有哪些令人兴奋的功能等待您去发现!



创建于 2024-01-01,更新于 2024-05-19
作者:glenn-jocher(3)、abirami-vina(1)

评论