使用 MLflow 集成记录 Ultralytics YOLO 实验数据
探索 MLflow 集成和日志记录如何提升你的 Ultralytics YOLO 实验水平,从而为计算机视觉应用实现更出色的跟踪。

你可以把计算机视觉项目想象成拼图。从本质上讲,你通过拼凑拼图碎片来教会机器理解视觉数据,例如收集数据集、训练模型以及部署模型。当一切拼合在一起时,你就得到了一套能够有效分析并理解图像和视频的系统。
但是,就像真正的拼图一样,计算机视觉项目的每个部分都不一定简单明了。像实验跟踪(记录你的设置、配置和数据)和日志记录(捕获结果和性能指标)这样的任务可能会占用大量时间和精力。虽然这些步骤对于改进和优化计算机视觉模型至关重要,但有时会让人觉得是瓶颈所在。
这就是 Ultralytics YOLO 模型及其与 MLflow 集成的用武之地。像 Ultralytics YOLO11 这样的模型支持广泛的计算机视觉任务,包括目标检测、实例分割和图像分类。这些功能支持创建令人兴奋的计算机视觉应用程序。拥有像 MLflow 集成这样的选择,可以让视觉工程师专注于模型本身,而不是陷入细节中。
特别是,MLflow 集成通过在整个训练过程中记录各种指标、参数和工件来简化流程。在本文中,我们将探讨 MLflow 集成的工作原理、其优势,以及如何使用它来简化你的 Ultralytics YOLO 工作流。
Link to this section什么是 MLflow?#
MLflow 是一个开源平台(由 Databricks 开发),旨在简化和管理整个机器学习生命周期。它涵盖了开发、部署和维护机器学习模型的过程。
MLflow 包括以下关键组件:
- 实验跟踪:此组件侧重于为每次模型训练运行记录重要的细节,如模型设置、结果和文件。它能帮你比较模型,查看更改如何影响性能,并找到最佳模型。
- 模型注册表:它就像是你模型的存储系统,在这里你可以跟踪不同版本,并按测试、预发布和生产等阶段对它们进行组织。
- 项目打包:MLflow 使你可以轻松打包机器学习项目,包括代码、设置和所需的工具,以便它们可以在团队和环境之间进行一致的共享和使用。
- 模型部署:MLflow 提供了工具,可以快速将训练好的模型部署到工作站或云平台(如 AWS 和 Azure),使其能够投入实际使用。

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

图 2. MLflow 集成的关键日志记录功能。图片由作者提供。
Link to this sectionMLflow 集成的工作原理#
你可以浏览 Ultralytics 文档,获取有关启用 MLflow 集成的分步说明。设置完成后,集成会自动跟踪并记录你的训练实验的关键细节,如上所述。这消除了手动跟踪的需要,并帮助你专注于改进模型。
通过 MLflow 集成,你所有的训练运行都会存储在一个地方,从而更轻松地比较结果并评估不同的配置。通过比较已记录的结果,你可以识别出性能最佳的配置,并利用这些见解来优化你的模型。这确保了你的工作流更高效、文档齐全且可复现。
具体来说,每次训练会话都被组织成一个实验,它充当了多次运行的容器。在一个实验中,你可以查看所有关联的运行,并排比较它们的性能,并分析不同配置之间的趋势。
例如,如果你正在使用 Ultralytics YOLOv8 测试不同的学习率或批次大小,所有相关的运行都会被归类在同一个实验下,以便于进行比较和分析,如下图所示。

图 3。你可以使用 MLflow 集成查看实验。
同时,在单个运行层面,MLflow 提供了关于特定训练会话的详细见解。你可以查看各 epoch 的准确率、损失和精确率等指标,检查所使用的训练参数(例如批次大小和学习率),并访问生成的工件,如模型权重和配置文件。这些细节以有组织的格式存储,使你能够轻松回顾或复现任何运行。
Link to this section选择 MLflow 集成:它为何脱颖而出#
当你浏览 Ultralytics 文档并探索可用的集成时,你可能会问:MLflow 集成有什么特别之处,为什么我应该在我的工作流中选择它?
鉴于 TensorBoard 等集成也提供了用于跟踪指标和可视化结果的工具,了解 MLflow 集成脱颖而出的独特品质非常重要。
以下是 MLflow 成为你的 YOLO 项目的理想选择的原因:
- 用户友好的界面: MLflow 仪表板可以轻松查看实验、比较运行和分析结果,帮助你快速识别性能最佳的配置。
- 自定义指标日志记录: 视觉工程师除了记录标准指标外,还可以记录自定义指标,从而实现针对其项目需求的更深入分析。
- 支持多语言工作流: MLflow 与多种编程语言兼容,包括 Python、R 和 Java,从而促进了与不同机器学习流水线的集成。
Link to this sectionYOLO11 和 MLflow 集成的实际应用#
为了更全面地了解何时可以使用 MLflow 集成,让我们考虑一个医疗保健领域的 AI 应用,你需要训练 YOLO11 来检测 X 光或 CT 扫描图像中的肿瘤。
在这种情况下,数据集将由标注的医学图像组成。你需要试验各种配置,例如调整学习率、批次大小和图像预处理技术,以获得最佳准确率。由于医疗保健领域的利害关系重大,且精确度和可靠性至关重要,手动跟踪每次实验会很快变得难以管理。

图 4. 使用 Ultralytics YOLO11 检测肿瘤。
MLflow 集成通过自动记录每个实验的参数、指标和工件来解决这一挑战。例如,如果你修改学习率或应用新的增强策略,MLflow 会记录这些更改以及性能指标。此外,MLflow 还会保存训练好的模型权重和配置,确保成功的模型可以轻松复现和部署。
这只是 MLflow 集成如何增强视觉 AI 应用中实验管理的一个例子。相同的功能也适用于其他计算机视觉应用,包括:
- 自动驾驶: YOLO11 可用于实时检测和分类行人、车辆和交通标志,以提高自动驾驶系统的安全性和效率。
- 零售分析: 目标检测模型可以通过视频监控分析店内活动,从而监控客户行为、跟踪产品摆放位置并优化库存。
- 安全与监控: 可以训练模型来检测异常或监控敏感区域的实时活动,从而增强安全性。
Link to this sectionMLflow 集成的优势#
MLflow 与 YOLO 模型的集成使管理机器学习实验变得更加容易和高效。通过自动化关键任务并保持一切井井有条,它使你可以专注于构建和改进模型。以下是其主要优势:
- 可扩展至大型项目: 该平台能有效处理多个实验和模型,使其适用于大型团队和复杂的工作流。
- 详细的实验历史记录: 该平台维护完整的实验历史记录,使你可以回顾过去的运行,分析以前的配置,并从早期的结果中学习。
- 禁用和重置选项: 在不需要时可以轻松禁用 MLflow 日志记录,并且可以将设置重置为默认值,从而提供灵活性以适应不同的工作流需求。
Link to this section关键要点#
MLflow 集成使得管理和优化 Ultralytics YOLO 实验变得更加容易和高效。通过自动跟踪参数、指标和工件等关键细节,它简化了流程,并消除了手动实验管理的麻烦。
无论你是在进行肿瘤检测等医疗保健解决方案,改进自动驾驶系统,还是增强零售分析,此集成都有助于保持一切有序且可复现。凭借其直观的界面和灵活性,MLflow 使开发者能够专注于构建更好的模型,并推动视觉 AI 应用的创新。
加入我们的社区并查看我们的 GitHub 仓库以了解有关 AI 的更多信息。你也可以在我们的解决方案页面上探索制造中的计算机视觉或自动驾驶汽车中的 AI的更多应用。






