探索 Ultralytics YOLOv8 的机器学习实验跟踪集成
进一步了解跟踪和监控 YOLOv8 模型训练实验的各种方案。比较不同工具,找到最适合你需求的工具。
Abirami Vina6 分钟阅读
收集数据并进行标注,然后训练像 Ultralytics YOLOv8 模型这样的模型,是任何计算机视觉项目的核心。通常,你需要使用不同的参数多次训练自定义模型,才能找到性能最佳的模型。使用工具跟踪训练实验,可以让你更轻松地管理计算机视觉项目。实验跟踪是记录每次训练运行详细信息的过程,例如所用参数、取得的结果,以及过程中做出的任何更改。

图 1.展示实验跟踪在计算机视觉项目中作用的图片。
记录这些详细信息有助于你复现结果、了解哪些方法有效、哪些无效,并更有效地微调模型。对组织而言,这有助于保持团队间的一致性、促进协作,并提供清晰的审计跟踪。对个人而言,这意味着要对工作进行清晰、有条理的文档记录,以便不断改进方法,随着时间推移取得更好的结果。
本文将介绍用于管理和监控 YOLOv8 实验的各种训练集成。无论你是独立工作还是团队协作,了解并使用合适的跟踪工具,都能切实影响 YOLOv8 项目的成效。
使用 MLflow 跟踪机器学习实验#
MLflow 是 Databricks 开发的开源平台,可简化整个机器学习生命周期的管理。MLflow Tracking 是 MLflow 的核心组件,可提供 API 和用户界面,帮助数据科学家和工程师记录并可视化机器学习实验。它支持多种语言和接口,包括 Python、REST、Java 和 R API。
MLflow Tracking 与 YOLOv8 无缝集成,你可以直接从模型中记录精确率、召回率和损失等重要指标。将 MLflow 与 YOLOv8 配合使用十分简单,而且提供灵活的选项:你可以使用默认的 localhost 配置、连接各种数据存储,或启动远程 MLflow 跟踪服务器,让所有内容井然有序。

图 2. MLflow 跟踪环境的常见配置。图片来源:MLflow Tracking。
以下几点可以帮助你判断 MLflow 是否适合你的项目:
- 可扩展性:无论你是在单台机器上工作,还是在大型集群上部署,MLflow 都能根据需求灵活扩展。如果你的项目需要从开发阶段扩展到生产阶段,MLflow 可以支持这一发展。
- 项目复杂度:MLflow 非常适合需要全面跟踪、模型管理和部署能力的复杂项目。如果你的项目需要这些完整功能,MLflow 可以简化工作流程。
- 设置和维护:MLflow 功能强大,但也需要一定的学习成本和设置工作。
使用 Weights & Biases (W&B) 跟踪计算机视觉模型#
Weights & Biases 是一个用于跟踪、可视化和管理机器学习实验的 MLOps 平台。通过将 W&B 与 YOLOv8 配合使用,你可以在训练和微调模型时监控模型性能。W&B 的交互式仪表板可以清晰地实时展示这些指标,方便你发现趋势、比较不同模型,并在训练过程中排查问题。
W&B 会自动记录训练指标和模型检查点,你甚至可以用它微调学习率和批量大小等超参数。该平台支持多种配置方式,从在本地计算机上跟踪运行,到使用云存储管理大型项目,都能胜任。

图 3. Weights & Biases 实验跟踪仪表板示例。图片来源:Weights & Biases 跟踪实验。
以下几点可以帮助你判断 Weights & Biases 是否适合你的项目:
- 增强可视化和跟踪功能:W&B 提供直观的仪表板,可实时呈现训练指标和模型性能。
使用 ClearML 跟踪 MLOps 实验#
ClearML 是一个开源 MLOps 平台,旨在自动化、监控和编排机器学习工作流程。它支持 PyTorch、TensorFlow 和 Keras 等热门机器学习框架,并可轻松集成到现有流程中。ClearML 还支持在本地机器或云端进行分布式计算,并可监控 CPU 和 GPU 的使用情况。
YOLOv8 与 ClearML 的集成提供了实验跟踪、模型管理和资源监控工具。该平台直观的 Web UI 支持你可视化数据、比较实验,并实时跟踪损失、准确率和验证分数等关键指标。此集成还支持远程执行、超参数调优和模型检查点等高级功能。

图 4. ClearML 实验跟踪可视化示例。图片来源:ClearML Tracking Experiments and Visualizing Results。
以下几点可以帮助你判断 ClearML 是否适合你的项目:
- 对高级实验跟踪的需求:ClearML 提供强大的实验跟踪功能,包括与 Git 的自动集成。
- 灵活部署:ClearML 可用于本地部署、云端或 Kubernetes 集群,因此能够适应不同的配置。
使用 Comet ML 跟踪训练实验#
Comet ML 是一个易于使用的平台,有助于管理和跟踪机器学习实验。YOLOv8 与 Comet ML 的集成让你能够记录实验并查看随时间变化的结果。该集成让你更容易发现趋势并比较不同的运行记录。
Comet ML 可在云端、虚拟私有云 (VPC) 或本地部署环境中使用,能够适应不同的配置和需求。该工具专为团队协作而设计。你可以共享项目、标记队友并发表评论,让所有人保持同步并准确复现实验。
以下几点可以帮助你判断 Comet ML 是否适合你的项目:
- 支持多种框架和语言:Comet ML 支持 Python、JavaScript、Java、R 等语言,无论项目使用何种工具或语言,都是一个灵活的选择。
- 可自定义的仪表板和报告:Comet ML 的界面具有很高的可定制性,因此你可以创建最适合项目需求的报告和仪表板。
- 成本:Comet ML 是一个商业平台,部分高级功能需要付费订阅。
TensorBoard 助你实现可视化#
TensorBoard 是一款专为 TensorFlow 实验设计的强大可视化工具包,同时也是跟踪和可视化各种机器学习项目指标的优秀工具。TensorBoard 以简单、快速著称,用户可以轻松跟踪关键指标,并可视化模型图、嵌入向量和其他类型的数据。
将 TensorBoard 与 YOLOv8 配合使用的一大优势是几乎不需要进行额外设置:安装 tensorboard 软件包,并通过 yolo settings tensorboard=True 启用一次日志记录即可。另一个优势是 TensorBoard 可以完全在本地运行。对于有严格数据隐私要求的项目,或无法将数据上传到云端的环境,这一点尤其重要。

图 5.使用 TensorBoard 监控 YOLOv8 模型训练。
以下几点可以帮助你判断 TensorBoard 是否适合你的项目:
- 简单的实验跟踪:TensorBoard 适合基本的跟踪需求,但实验比较能力有限,而且缺少强大的团队协作功能、版本控制和隐私管理功能。
使用 DVCLive (Data Version Control Live) 跟踪机器学习实验#
YOLOv8 与 DVCLive 的集成提供了一种简化实验跟踪和管理的方式:将数据集、模型和代码一并进行版本控制,而无需在 Git 中存储大文件。它使用类似 Git 的命令,并将跟踪的指标存储为纯文本文件,便于进行版本控制。DVCLive 会记录关键指标、可视化结果并整洁地管理实验,不会让代码仓库变得杂乱。它支持多种存储服务提供商,可在本地或云端运行。对于希望简化实验跟踪、又不想增加基础设施或依赖云服务的团队来说,DVCLive 非常合适。
使用 Ultralytics HUB 管理 Ultralytics 模型和工作流程#
Ultralytics HUB(现为 Ultralytics Platform)是一个内部的一体化平台,旨在简化 Ultralytics YOLO 模型(如 YOLOv5 和 YOLOv8)的训练、部署和管理。与外部集成不同,Ultralytics HUB 为 YOLO 用户提供专门打造的原生体验。它简化了整个流程,让你只需点击几下,就能轻松上传数据集、选择预训练模型,并使用云端资源开始训练——整个过程都可以在易于使用的 HUB 界面中完成。Ultralytics HUB 还支持实验跟踪,方便你监控训练进度、比较结果并微调模型。

图 6.使用 Ultralytics HUB 监控 YOLOv8 模型训练。
要点#
选择合适的机器学习实验跟踪工具,能带来显著影响。我们讨论的所有工具都能帮助跟踪 YOLOv8 训练实验,但你需要权衡各自的优缺点,找到最适合项目的工具。合适的工具能帮你保持工作有序,并提升 YOLOv8 模型的性能!
集成可以简化你在项目中使用 YOLOv8 的过程,加快项目进展。如需了解更多 YOLOv8 集成,请查看我们的文档。
通过探索我们的 GitHub 仓库并加入我们的社区,进一步了解 AI。查看我们的解决方案页面,深入了解 AI 在制造业和医疗保健领域的应用。
作者
评论
提出问题、分享你的结果,或帮助其他人。










