Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
集成

使用 MLflow 集成记录 Ultralytics YOLO 实验

了解 Ultralytics 的 MLflow 集成如何记录 YOLO 训练运行的指标、参数和产物,以便你比较实验并复现结果。

Abirami VinaAbirami Vina6 分钟阅读
使用 MLflow 集成记录 Ultralytics YOLO 实验

你可以把一个计算机视觉项目想象成一幅拼图。简单来说,你需要拼起收集数据集、训练模型和部署模型等拼图碎片,教会机器理解视觉数据。所有拼图拼合完成后,你就能得到一个可以有效分析图像和视频并从中提取信息的系统。

不过,就像真正的拼图一样,计算机视觉项目的每个环节都并非易事。实验跟踪(记录设置、配置和数据)以及日志记录(捕获结果和性能指标)等任务可能需要大量时间和精力。虽然这些步骤对于改进和优化计算机视觉模型至关重要,但有时也会成为瓶颈。

这正是 Ultralytics YOLO 模型及其与 MLflow 的集成发挥作用的地方。Ultralytics YOLO11 等模型支持多种计算机视觉任务,包括目标检测、实例分割和图像分类。这些能力让各种计算机视觉应用成为可能。借助 MLflow 集成等选项,视觉工程师可以专注于模型本身,而不必纠结于各种细节。

具体来说,MLflow 集成会在整个训练过程中记录各种指标、参数和制品,从而简化流程。本文将探讨 MLflow 集成的工作原理、优势,以及如何利用它简化 Ultralytics YOLO 工作流。

什么是 MLflow?#

MLflow 是一个开源平台(由 Databricks 开发),旨在简化并管理整个机器学习生命周期。它涵盖机器学习模型的开发、部署和维护流程。

MLflow 包含以下关键组件:

  • 实验跟踪:此组件专注于记录每次模型训练运行的重要细节,例如模型设置、结果和文件。它可以帮助你比较模型、了解更改对性能的影响,并找出最佳模型。
  • 模型注册表:它就像一个模型存储系统,你可以在其中跟踪不同版本,并按测试、预发布和生产等阶段进行组织。
  • 项目打包:MLflow 可以轻松打包机器学习项目,包括代码、设置和所需工具,确保项目能在不同团队和环境中一致地共享和使用。
  • 模型部署:MLflow 提供工具,可将训练好的模型快速部署到工作站或 AWS 和 Azure 等云平台,使模型能够投入实际应用。

MLflow 的组件

图 1。 MLflow 的组件。

借助 MLflow 的组件,机器学习流程的管理变得更简单、更高效。通过这项集成,Ultralytics 支持使用 MLflow 的实验跟踪功能,在训练 YOLO 模型时记录参数、指标和制品。这样便能轻松跟踪和比较不同版本的 YOLO 模型。

MLflow 集成简化训练流程#

现在我们已经介绍了 MLflow 是什么,接下来看看 MLflow 集成的详细情况以及它提供的功能。

MLflow 集成旨在通过自动跟踪和记录计算机视觉实验的重要方面,让训练流程更高效、更有条理。它支持三类主要日志记录:指标、参数和工件。

下面详细了解每种日志记录类型:

  • 指标日志记录: 指标是用于衡量模型训练期间性能的定量值。例如,准确率、精确率、召回率或损失等指标会在每个 epoch(完整遍历一次数据集)结束时进行跟踪。
  • 参数日志记录: 参数是你在模型训练开始前设置的配置,例如学习率、批量大小(每个训练步骤处理的样本数)和 epoch 数。这些参数会显著影响模型的行为和性能。
  • 工件日志记录: 工件是训练期间生成的输出或文件。其中包括模型权重(模型在训练过程中学习到的数值)、配置文件(用于存储训练设置)和其他相关数据等重要文件。

MLflow 集成的关键日志记录功能

图 2. MLflow 集成的关键日志记录功能。图片由作者提供。

MLflow 集成的工作原理#

你可以查阅 Ultralytics 文档,按照分步说明启用 MLflow 集成。设置完成后,该集成会自动跟踪并记录训练实验的关键细节,如上文所述。这样就不必手动跟踪,让你能专注于改进模型。

通过 MLflow 集成,你的所有训练运行都会保存在同一处,更便于比较结果和评估不同配置。通过比较记录的结果,你可以找出性能最佳的配置,并利用这些见解改进模型。这样可以让工作流程更高效、记录更完善,也更具可复现性。

具体来说,每次训练会话都会归入一个实验中,实验可作为多个运行的容器。在一个实验中,你可以查看所有相关运行,并排比较它们的性能,还能分析不同配置下的趋势。

例如,如果你使用 Ultralytics YOLOv8 测试不同的学习率或批量大小,所有相关运行都会归入同一个实验,便于比较和分析,如下所示。

使用 MLflow 集成查看实验

图 3。你可以使用 MLflow 集成查看实验。

在单个运行层面,MLflow 会提供特定训练会话的详细信息。你可以查看各个 epoch 中的准确率、损失和精确率等指标,检查所用的训练参数(例如批量大小和学习率),并访问生成的工件,例如模型权重和配置文件。这些细节会以有条理的格式保存,因此你可以轻松回顾或复现任何一次运行。

选择 MLflow 集成:它为何脱颖而出#

在阅读 Ultralytics 文档并探索可用的集成时,你可能会想:MLflow 集成有何独特之处?为什么要在工作流程中选择它?

像 TensorBoard 这样的集成也提供了跟踪指标和可视化结果的工具,因此了解 MLflow 集成脱颖而出的独特优势非常重要。

以下是 MLflow 可能成为你 YOLO 项目理想选择的原因:

  • 易于使用的界面: MLflow 仪表板让你可以轻松查看实验、比较运行和分析结果,帮助你快速找出性能最佳的配置。
  • 自定义指标日志记录: 视觉工程师除了记录标准指标外,还可以记录自定义指标,从而针对项目需求进行更深入的分析。
  • 支持多语言工作流程:MLflow 兼容多种编程语言,包括 Python、R 和 Java,便于集成到不同的机器学习流水线中。

Ultralytics YOLO11 与 MLflow 集成的实际应用#

为了更全面地了解 MLflow 集成的适用场景,我们来看一个医疗保健领域的 AI 应用:你需要训练 Ultralytics YOLO11,以检测 X 射线或 CT 扫描图像中的肿瘤。

在这种情况下,数据集由带标注的医学图像组成。你需要尝试不同的配置,例如调整学习率、批量大小和图像预处理方法,以达到最佳准确率。医疗保健领域风险很高,精确性和可靠性至关重要,因此手动跟踪每项实验很快就会变得难以管理。

一组脑部 MRI 验证扫描图,Ultralytics YOLO11 用方框标记肿瘤区域为阳性或阴性

图 4. 使用 Ultralytics YOLO11 检测肿瘤。

MLflow 集成通过自动记录每项实验的参数、指标和工件来应对这一挑战。例如,如果你修改学习率或采用新的数据增强策略,MLflow 会将这些变化与性能指标一并记录。此外,MLflow 还会保存训练后的模型权重和配置,确保成功的模型能够轻松复现和部署。

这只是 MLflow 集成如何改善视觉 AI 应用中实验管理的一个示例。同样的功能也适用于其他计算机视觉应用,包括:

  • 自动驾驶:Ultralytics YOLO11 可用于实时检测和分类行人、车辆及交通标志,从而提升自动驾驶系统的安全性和效率。
  • 零售分析:目标检测模型可以通过分析店内视频流来监控顾客行为、跟踪商品陈列,并优化库存。
  • 安全与监控:可以训练模型来检测异常,或监控敏感区域的实时活动,从而提升安全性。

MLflow 集成的优势#

MLflow 与 YOLO 模型的集成让机器学习实验管理更简单、更高效。通过自动执行关键任务并保持所有内容井然有序,它让你能够专注于构建和改进模型。以下是主要优势:

  • 适用于大型项目的扩展能力:该平台能够高效处理多个实验和模型,适合规模较大的团队和复杂工作流程。
  • 详细的实验历史记录:该平台会完整保留实验历史,让你可以回顾过去的运行、分析之前的配置,并从以往结果中汲取经验。
  • 禁用和重置选项: 不需要时,可以轻松禁用 MLflow 日志记录,也可以将设置恢复为默认值,从而灵活适应不同的工作流程需求。

要点#

MLflow 集成让 Ultralytics YOLO 实验的管理和优化更简单、更高效。通过自动跟踪参数、指标和工件等关键细节,它简化了流程,免去了手动管理实验的麻烦。

无论你是在开发肿瘤检测等医疗保健解决方案、改进自动驾驶系统,还是增强零售分析,这项集成都能帮助你有条理地管理所有内容,并确保结果可复现。MLflow 的直观界面和灵活性让开发者能够专注于构建更好的模型,推动视觉 AI 应用创新。

加入我们的社区,并查看我们的 GitHub 代码仓库,了解 AI。你还可以在我们的解决方案页面探索更多应用,例如制造业中的计算机视觉或自动驾驶汽车中的 AI。

作者

Abirami Vina
Abirami Vina

内容创作者 · Ultralytics

Abirami Vina 职业生涯始于计算机视觉工程师,由此在视觉 AI 和机器学习领域打下了坚实基础。她是 Ultralytics 的内容创作者,也是 Scribe of AI 的创始人兼首席撰稿人,为专注 AI 的公司撰写高质量技术内容。她热衷于让 AI 更易理解、更具吸引力,通过自己的作品连接前沿技术与现实影响。

评论

提出问题、分享你的结果,或帮助其他人。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来