绿色检查
链接复制到剪贴板

使用 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(对数据集的一次完整传递)结束时进行跟踪。 
  • 参数记录:参数是您在模型训练开始前定义的设置,如学习率、批量大小(一个训练步骤中处理的样本数)和历元数。这些参数会对模型的行为和性能产生重大影响。
  • 人工制品日志:人工制品是指训练过程中生成的输出或文件。这包括模型权重(模型在训练过程中学习到的数值)、配置文件(存储训练设置)和其他相关数据等重要文件。 
图 2.MLflow 集成的主要记录功能。图片由作者提供。

MLflow 集成如何工作

您可以浏览Ultralytics 文档,了解启用MLflow 集成的逐步说明。如上所述,一旦设置完成,集成将自动跟踪和记录训练实验的关键细节。这样就无需手动跟踪,有助于您专注于完善模型。

有了 MLflow 集成,您的所有训练运行都存储在一个地方,从而更容易比较结果和评估不同的配置。通过比较记录的结果,您可以确定性能最佳的配置,并利用这些见解来增强您的模型。这将确保您的工作流程更加高效、记录详实并具有可重复性。

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

例如,如果您正在使用Ultralytics YOLOv8 测试各种学习率或批量大小,所有相关运行都会被归类到同一实验中,以便于比较和分析,如下图所示。

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

同时,在单个运行级别,MLflow 提供了对特定训练会话的详细分析。您可以查看历时的准确率、损失和精度等指标,检查所用的训练参数(如批量大小和学习率),并访问生成的模型权重和配置文件等工件。这些详细信息以有组织的格式存储,使重新访问或重现任何运行变得简单。

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

当您浏览Ultralytics 文档并探索可用集成时,您可能会问自己:MLflow集成有何与众不同之处?MLflow 集成有哪些与众不同之处,为什么我的工作流程要选择它?

TensorBoard这样的集成还提供了跟踪指标和可视化结果的工具,因此了解 MLflow 集成的独特之处非常重要。 

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

  • 用户友好界面: MLflow 面板可轻松查看实验、比较运行和分析结果,帮助您快速确定性能最佳的配置。
  • 自定义指标记录: 除标准指标外,视觉工程师还可记录自定义指标,从而针对项目需求进行更深入的分析。
  • 支持多语言工作流:MLflow 兼容多种编程语言,包括Python 、R 和 Java,便于集成到各种机器学习管道中。

YOLO11 和 MLflow 集成的实际应用

为了更全面地了解何时可以使用 MLflow 集成,让我们考虑一下医疗保健领域的人工智能应用,您需要训练YOLO11 来检测 X 光或 CT 扫描图像中的肿瘤。 

在这种情况下,数据集将由带注释的医学图像组成。您需要尝试各种配置,如调整学习率、批量大小和图像预处理技术,以达到最佳精度。由于医疗保健的风险很高,精度和可靠性至关重要,因此手动跟踪每个实验很快就会变得难以管理。

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

MLflow 集成通过自动记录每个实验的参数、指标和工件来应对这一挑战。例如,如果您修改了学习率或应用了新的增强策略,MLflow 会在记录性能指标的同时记录这些变化。此外,MLflow 还会保存训练好的模型权重和配置,确保成功的模型可以轻松复制和部署。 

这只是 MLflow 集成如何增强视觉人工智能应用中实验管理的一个例子。同样的功能也适用于其他计算机视觉应用,包括

  • 自动驾驶:YOLO11 可用于实时检测和分类行人、车辆和交通标志,以提高自动驾驶系统的安全性和效率。
  • 零售分析:物体检测模型可通过视频馈送分析店内活动,监控顾客行为、跟踪产品摆放位置并优化库存。
  • 安全和监控:可对模型进行训练,以检测异常情况或监控敏感区域的实时活动,从而提高安全性。

集成 MLflow 的优势

MLflow 与YOLO 模型的集成使机器学习实验的管理变得更简单、更高效。通过自动执行关键任务并保持一切井井有条,它可以让您专注于构建和改进模型。以下是主要优势:

  • 适用于大型项目:该平台可高效处理多个实验和模型,适合大型团队和复杂的工作流程。
  • 详细的实验历史:该平台保留了完整的实验历史记录,让您可以重温过去的运行,分析以前的配置,并从以前的结果中吸取经验教训。
  • 禁用和重置选项: 在不需要时,可轻松禁用 MLflow 日志记录,并将设置重置为默认值,从而灵活地适应不同的工作流程要求。

主要收获

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

无论您是在研究肿瘤检测等医疗解决方案,还是在改进自动驾驶系统或增强零售分析,该集成都能帮助您保持一切井井有条并具有可重复性。凭借直观的界面和灵活性,MLflow 可以让开发人员专注于构建更好的模型,并推动 Vision AI 应用程序的创新。

加入我们的社区,查看我们的GitHub 存储库,了解人工智能。您还可以访问我们的解决方案页面,了解计算机视觉在制造业人工智能在自动驾驶汽车中的更多应用。

Facebook 徽标Twitter 徽标LinkedIn 徽标复制链接符号

在此类别中阅读更多内容

让我们共同打造人工智能的未来

开始您的未来机器学习之旅