使用 Weights & Biases 进行 YOLO 实验跟踪和可视化
像 Ultralytics YOLO11 这样的对象检测模型已成为许多计算机视觉应用程序不可或缺的一部分。然而,训练、评估和部署这些复杂的模型带来了一些挑战。跟踪关键训练指标、比较模型变体、分析模型行为以及检测问题需要大量的工具和实验管理。
观看: 如何将 Ultralytics YOLO11 与 Weights and Biases 结合使用
本指南展示了 Ultralytics YOLO11 与 Weights & Biases 的集成,以增强实验跟踪、模型检查点和模型性能的可视化。它还包括有关使用 Weights & Biases 的交互式功能设置集成、训练、微调和可视化结果的说明。
Weights & Biases
Weights & Biases 是一个先进的 MLOps 平台,专为跟踪、可视化和管理机器学习实验而设计。它具有自动记录训练指标以实现完全实验可重复性、用于简化数据分析的交互式 UI 以及用于跨各种环境部署的高效模型管理工具。
使用 Weights & Biases 进行 YOLO11 训练
您可以使用 Weights & Biases 为您的 YOLO11 训练过程带来效率和自动化。通过集成,您可以跟踪实验、比较模型并做出数据驱动的决策,以改进您的计算机视觉项目。
安装
要安装所需的软件包,请运行:
安装
# Install the required packages for Ultralytics YOLO and Weights & Biases
pip install -U ultralytics wandb
# Enable W&B logging for Ultralytics
yolo settings wandb=True
有关安装过程的详细说明和最佳实践,请务必查看我们的 YOLO11 安装指南。在为 YOLO11 安装所需软件包时,如果遇到任何困难,请查阅我们的 常见问题指南 以获取解决方案和提示。
配置 Weights & Biases
安装必要的软件包后,下一步是设置您的 Weights & Biases 环境。这包括创建一个 Weights & Biases 帐户并获取必要的 API 密钥,以便在您的开发环境和 W&B 平台之间建立顺畅的连接。
首先,在您的工作区中初始化 Weights & Biases 环境。您可以通过运行以下命令并按照提示操作来完成此操作。
初始 SDK 设置
import wandb
# Initialize your Weights & Biases environment
wandb.login(key="YOUR_API_KEY")
# Initialize your Weights & Biases environment
wandb login YOUR_API_KEY
导航到Weights & Biases授权页面以创建和检索您的API密钥。使用此密钥通过W&B验证您的环境。
用法:使用 Weights & Biases 训练 YOLO11
在使用 Weights & Biases 进行 YOLO11 模型训练之前,请务必查看 Ultralytics 提供的各种 YOLO11 模型。这将帮助您选择最适合您项目需求的模型。
用法:使用 Weights & Biases 训练 YOLO11
from ultralytics import YOLO
# Load a YOLO model
model = YOLO("yolo11n.pt")
# Train and Fine-Tune the Model
model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo11n")
# Train a YOLO11 model with Weights & Biases
yolo train data=coco8.yaml epochs=5 project=ultralytics name=yolo11n
W&B 参数
参数 | 默认值 | 描述 |
---|---|---|
项目 | None |
指定本地和 W&B 中记录的项目的名称。这样,您可以将多个运行分组在一起。 |
名称 | None |
训练运行的名称。这将确定用于创建子文件夹的名称以及用于 W&B 日志记录的名称 |
启用或禁用 Weights & Biases
如果您想在 Ultralytics 中启用或禁用 Weights & Biases 日志记录,可以使用 yolo settings
命令。默认情况下,Weights & Biases 日志记录已禁用。
# Enable Weights & Biases logging
yolo settings wandb=True
# Disable Weights & Biases logging
yolo settings wandb=False
了解输出
运行上述使用代码片段后,您可以预期以下关键输出:
- 新运行的设置及其唯一 ID,表示训练过程的开始。
- 模型结构的简明摘要,包括层数和参数。
- 在每次训练epoch期间,定期更新重要指标,例如 box loss、cls loss、dfl loss、precision、recall和mAP scores。
- 在训练结束时,会显示详细的指标,包括模型的推理速度和整体准确率指标。
- Weights & Biases 仪表板的链接,用于深入分析和可视化训练过程,以及本地日志文件位置的信息。
查看 Weights & Biases 仪表板
运行使用代码段后,您可以通过输出中提供的链接访问 Weights & Biases (W&B) 仪表板。该仪表板提供了使用 YOLO11 训练模型的全方位视图。
Weights & Biases 仪表盘的主要特性
-
实时指标跟踪:在训练过程中观察损失、准确性和验证分数等指标的变化,从而为模型调整提供即时见解。 了解如何使用 Weights & Biases 跟踪实验。
-
超参数优化:Weights & Biases 有助于微调关键参数,例如 学习率、批量大小 等,从而提高 YOLO11 的性能。这有助于您为特定的数据集和任务找到最佳配置。
-
对比分析: 该平台允许对不同的训练运行进行并排比较,这对于评估各种模型配置的影响以及了解哪些更改可以提高性能至关重要。
-
训练进度可视化: 关键指标的图形表示提供了对模型在各个 epoch 中性能的直观理解。了解 Weights & Biases 如何帮助您可视化验证结果。
-
资源监控:跟踪 CPU、GPU 和内存使用情况,以优化训练过程的效率,并识别工作流程中的潜在瓶颈。
-
模型工件管理:访问和共享模型检查点,方便部署和与团队成员在复杂项目上进行协作。
-
使用图像叠加查看推理结果:使用 Weights & Biases 中的交互式叠加可视化图像上的预测结果,从而清晰详细地了解模型在实际数据上的性能。有关更多详细信息,请参阅 Weights & Biases 的图像叠加功能。
通过使用这些功能,您可以有效地跟踪、分析和优化您的 YOLO11 模型训练,从而确保您的目标检测任务获得最佳性能和效率。
总结
本指南帮助您探索 Ultralytics YOLO 与 Weights & Biases 的集成。它说明了此集成能够有效地跟踪和可视化模型训练和预测结果。通过利用 W&B 的强大功能,您可以简化您的机器学习工作流程、做出数据驱动的决策并提高模型的性能。
有关使用方法的更多详细信息,请访问 Weights & Biases 的官方文档,或浏览 YOLO VISION 2023 中 Soumik Rakshit 的演示文稿,了解有关此集成的更多信息。
此外,请务必查看 Ultralytics 集成指南页面,以了解有关 MLflow 和 Comet ML 等不同精彩集成的更多信息。
常见问题
如何将 Weights & Biases 与 Ultralytics YOLO11 集成?
要将 Weights & Biases 与 Ultralytics YOLO11 集成:
-
安装所需的软件包:
pip install -U ultralytics wandb yolo settings wandb=True
-
登录您的 Weights & Biases 帐户:
import wandb wandb.login(key="YOUR_API_KEY")
-
启用 W&B 日志记录来训练您的 YOLO11 模型:
from ultralytics import YOLO model = YOLO("yolo11n.pt") model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo11n")
这将会自动将指标、超参数和模型工件记录到您的 W&B 项目中。
Weights & Biases 与 YOLO11 集成的主要特点是什么?
主要功能包括:
- 训练期间的实时指标跟踪
- 超参数优化工具
- 不同训练运行的对比分析
- 通过图表可视化训练进度
- 资源监控(CPU、GPU、内存使用情况)
- 模型工件管理和共享
- 查看带有图像叠加的推理结果
这些功能有助于跟踪实验、优化模型以及在 YOLO11 项目上更有效地进行协作。
如何在 Weights & Biases 仪表板中查看我的 YOLO11 训练结果?
在使用 W&B 集成运行训练脚本后:
- 您的 W&B 仪表板的链接将在控制台输出中提供。
- 点击链接或转到 wandb.ai 并登录到您的帐户。
- 导航至您的项目以查看详细的指标、可视化效果和模型性能数据。
该仪表板提供了有关模型训练过程的深入见解,使您能够有效地分析和改进您的 YOLO11 模型。
是否可以禁用 YOLO11 训练的 Weights & Biases 日志记录?
是的,您可以使用以下命令禁用 W&B 日志记录:
yolo settings wandb=False
要重新启用日志记录,请使用:
yolo settings wandb=True
这使您可以控制何时使用W&B日志记录,而无需修改训练脚本。
Weights & Biases 如何帮助优化 YOLO11 模型?
Weights & Biases 通过以下方式帮助优化 YOLO11 模型:
- 提供训练指标的详细可视化
- 可以轻松比较不同模型版本
- 提供用于超参数调优的工具
- 允许对模型性能进行协作分析
- 方便轻松共享模型工件和结果
这些功能帮助研究人员和开发人员更快地迭代,并做出数据驱动的决策,以改进他们的 YOLO11 模型。