使用 MLflow 集成记录 Ultralytics YOLO 实验
了解 Ultralytics 的 MLflow 集成如何记录 YOLO 训练运行的指标、参数和产物,以便你比较实验并复现结果。
Abirami Vina6 分钟阅读
你可以把一个计算机视觉项目想象成一幅拼图。简单来说,你需要拼起收集数据集、训练模型和部署模型等拼图碎片,教会机器理解视觉数据。所有拼图拼合完成后,你就能得到一个可以有效分析图像和视频并从中提取信息的系统。
不过,就像真正的拼图一样,计算机视觉项目的每个环节都并非易事。实验跟踪(记录设置、配置和数据)以及日志记录(捕获结果和性能指标)等任务可能需要大量时间和精力。虽然这些步骤对于改进和优化计算机视觉模型至关重要,但有时也会成为瓶颈。
这正是 Ultralytics YOLO 模型及其与 MLflow 的集成发挥作用的地方。Ultralytics YOLO11 等模型支持多种计算机视觉任务,包括目标检测、实例分割和图像分类。这些能力让各种计算机视觉应用成为可能。借助 MLflow 集成等选项,视觉工程师可以专注于模型本身,而不必纠结于各种细节。
具体来说,MLflow 集成会在整个训练过程中记录各种指标、参数和制品,从而简化流程。本文将探讨 MLflow 集成的工作原理、优势,以及如何利用它简化 Ultralytics YOLO 工作流。
什么是 MLflow?#
MLflow 是一个开源平台(由 Databricks 开发),旨在简化并管理整个机器学习生命周期。它涵盖机器学习模型的开发、部署和维护流程。
MLflow 包含以下关键组件:
- 实验跟踪:此组件专注于记录每次模型训练运行的重要细节,例如模型设置、结果和文件。它可以帮助你比较模型、了解更改对性能的影响,并找出最佳模型。
- 模型注册表:它就像一个模型存储系统,你可以在其中跟踪不同版本,并按测试、预发布和生产等阶段进行组织。
- 项目打包:MLflow 可以轻松打包机器学习项目,包括代码、设置和所需工具,确保项目能在不同团队和环境中一致地共享和使用。
- 模型部署:MLflow 提供工具,可将训练好的模型快速部署到工作站或 AWS 和 Azure 等云平台,使模型能够投入实际应用。

图 1。 MLflow 的组件。
借助 MLflow 的组件,机器学习流程的管理变得更简单、更高效。通过这项集成,Ultralytics 支持使用 MLflow 的实验跟踪功能,在训练 YOLO 模型时记录参数、指标和制品。这样便能轻松跟踪和比较不同版本的 YOLO 模型。
MLflow 集成简化训练流程#
现在我们已经介绍了 MLflow 是什么,接下来看看 MLflow 集成的详细情况以及它提供的功能。
MLflow 集成旨在通过自动跟踪和记录计算机视觉实验的重要方面,让训练流程更高效、更有条理。它支持三类主要日志记录:指标、参数和工件。
下面详细了解每种日志记录类型:
- 指标日志记录: 指标是用于衡量模型训练期间性能的定量值。例如,准确率、精确率、召回率或损失等指标会在每个 epoch(完整遍历一次数据集)结束时进行跟踪。
- 参数日志记录: 参数是你在模型训练开始前设置的配置,例如学习率、批量大小(每个训练步骤处理的样本数)和 epoch 数。这些参数会显著影响模型的行为和性能。
- 工件日志记录: 工件是训练期间生成的输出或文件。其中包括模型权重(模型在训练过程中学习到的数值)、配置文件(用于存储训练设置)和其他相关数据等重要文件。

图 2. MLflow 集成的关键日志记录功能。图片由作者提供。
MLflow 集成的工作原理#
你可以查阅 Ultralytics 文档,按照分步说明启用 MLflow 集成。设置完成后,该集成会自动跟踪并记录训练实验的关键细节,如上文所述。这样就不必手动跟踪,让你能专注于改进模型。
通过 MLflow 集成,你的所有训练运行都会保存在同一处,更便于比较结果和评估不同配置。通过比较记录的结果,你可以找出性能最佳的配置,并利用这些见解改进模型。这样可以让工作流程更高效、记录更完善,也更具可复现性。
具体来说,每次训练会话都会归入一个实验中,实验可作为多个运行的容器。在一个实验中,你可以查看所有相关运行,并排比较它们的性能,还能分析不同配置下的趋势。
例如,如果你使用 Ultralytics YOLOv8 测试不同的学习率或批量大小,所有相关运行都会归入同一个实验,便于比较和分析,如下所示。

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

图 4. 使用 Ultralytics YOLO11 检测肿瘤。
MLflow 集成通过自动记录每项实验的参数、指标和工件来应对这一挑战。例如,如果你修改学习率或采用新的数据增强策略,MLflow 会将这些变化与性能指标一并记录。此外,MLflow 还会保存训练后的模型权重和配置,确保成功的模型能够轻松复现和部署。
这只是 MLflow 集成如何改善视觉 AI 应用中实验管理的一个示例。同样的功能也适用于其他计算机视觉应用,包括:
- 自动驾驶:Ultralytics YOLO11 可用于实时检测和分类行人、车辆及交通标志,从而提升自动驾驶系统的安全性和效率。
- 零售分析:目标检测模型可以通过分析店内视频流来监控顾客行为、跟踪商品陈列,并优化库存。
- 安全与监控:可以训练模型来检测异常,或监控敏感区域的实时活动,从而提升安全性。
MLflow 集成的优势#
MLflow 与 YOLO 模型的集成让机器学习实验管理更简单、更高效。通过自动执行关键任务并保持所有内容井然有序,它让你能够专注于构建和改进模型。以下是主要优势:
- 适用于大型项目的扩展能力:该平台能够高效处理多个实验和模型,适合规模较大的团队和复杂工作流程。
- 详细的实验历史记录:该平台会完整保留实验历史,让你可以回顾过去的运行、分析之前的配置,并从以往结果中汲取经验。
- 禁用和重置选项: 不需要时,可以轻松禁用 MLflow 日志记录,也可以将设置恢复为默认值,从而灵活适应不同的工作流程需求。
要点#
MLflow 集成让 Ultralytics YOLO 实验的管理和优化更简单、更高效。通过自动跟踪参数、指标和工件等关键细节,它简化了流程,免去了手动管理实验的麻烦。
无论你是在开发肿瘤检测等医疗保健解决方案、改进自动驾驶系统,还是增强零售分析,这项集成都能帮助你有条理地管理所有内容,并确保结果可复现。MLflow 的直观界面和灵活性让开发者能够专注于构建更好的模型,推动视觉 AI 应用创新。
加入我们的社区,并查看我们的 GitHub 代码仓库,了解 AI。你还可以在我们的解决方案页面探索更多应用,例如制造业中的计算机视觉或自动驾驶汽车中的 AI。
作者
评论
提出问题、分享你的结果,或帮助其他人。










