使用 MLflow 集成记录 Ultralytics YOLO 实验
探索 MLflow 集成和日志记录如何提升你的 Ultralytics YOLO 实验,为计算机视觉应用提供更出色的跟踪能力。

你可以把一个计算机视觉项目想象成一幅拼图。简单来说,你需要通过拼接数据集收集、模型训练和部署等拼图碎片,教会机器理解视觉数据。当所有部分完美契合时,你就能得到一个可以有效分析图像和视频并理解其内容的系统。
但是,就像真正的拼图一样,计算机视觉项目中的每个部分都并非易事。实验跟踪(记录设置、配置和数据)以及日志记录(捕获结果和性能指标)等任务可能需要大量时间和精力。虽然这些步骤对于改进和优化计算机视觉模型至关重要,但有时也会让人觉得它们成了瓶颈。
这正是 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应用。









