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

使用PaddlePaddle 集成导出Ultralytics YOLO11

了解如何使用PaddlePaddle 导出Ultralytics YOLO11 等Ultralytics YOLO11 模型,以便在边缘、移动和云平台上高效部署。

随着人工智能(AI)的发展,机器越来越善于理解周围的世界。推动这一进步的一个关键领域是计算机视觉,它是人工智能的一个分支,能让机器根据视觉数据进行解读并做出决策。

从帮助汽车识别交通标志到检查零售店的货架,计算机视觉现已成为许多日常工具的一部分。这些任务都依赖于视觉人工智能模型,它可以快速扫描照片或视频,并识别出重要内容。

随着时间的推移,这些模型变得更快、更准确,在农业、医疗保健、安全和零售等领域大有用武之地。例如 Ultralytics YOLO11就是一个用于快速、精确地处理一系列计算机视觉任务的模型。它可以对物体进行检测和分类,跟踪运动轨迹,并估计身体姿势。

将计算机视觉从研究转化为实际应用的一个重要环节就是部署。模型训练完成后,下一步就是在手机、边缘硬件或云服务器等设备上运行。 

图 1.模型部署是任何计算机视觉项目的关键部分。

为了支持这一点,Ultralytics YOLO 模型(如YOLO11 )可以根据目标平台导出为各种格式。其中一种格式是PaddlePaddle,它是一个开源的人工智能框架,可以在各种设备和系统上实现高效的模型部署和推理。

在本文中,我们将探讨如何通过Ultralytics 支持的PaddlePaddle 集成来导出Ultralytics YOLO11 ,从而实现在各种平台上的高效部署。

什么是PaddlePaddle? 

在研究环境之外部署人工智能模型(如在移动设备或边缘硬件上)有时会很棘手,尤其是当你需要它们高效运行并使用最少的资源时。PaddlePaddle 是一个深度学习框架,旨在帮助实现这一目标。

PaddlePaddle 是一个中文开源平台,其名称代表并行分布式深度学习(Parallel Distributed Deep Learning)。PaddlePaddle 由以人工智能和软件基础架构著称的百度公司开发,专门用于实际应用,而不仅仅是研究。

开发人员可以在服务器、边缘设备甚至移动硬件上运行PaddlePaddle 格式的模型。它还支持简化人工智能开发的工具,包括低代码和无代码选项。该平台拥有一个由 470 多万用户组成的强大的开发者社区,被广泛应用于医疗保健、农业、制造和金融等多个行业。

PaddlePaddle的主要功能

以下是帮助PaddlePaddle 在实际设备上更高效地运行模型的一些关键功能:

  • 动态图到静态图的转换: 该功能可将灵活的模型转化为固定版本,使其运行更流畅、更可预测。在进行预测时,固定模型更容易优化,速度也更快。
  • 操作员融合: PaddlePaddle 可以将模型中的多个步骤合并为一个步骤。这可以减少模型使用的内存,并帮助其更快地运行。想想看,这就像把多个任务合并成一个动作,以节省时间。
  • 量化: 通过使用更简单的数字(如四舍五入到更少的小数位),使模型变得更小。这有助于模型在手机或智能相机等功率有限的设备上运行,而不会损失太多精度。
图 2.使用PaddlePaddle 的优势。图片由作者提供。

使用PaddlePaddle部署YOLO11 的概述

Ultralytics 支持的PaddlePaddle 集成使从培训到部署变得更加容易。已经使用PaddlePaddle 工具的开发人员可以更轻松地将YOLO11 纳入他们的工作流程。

Ultralytics Python 软件包支持将YOLO11 模型直接导出为PaddlePaddle 格式,使开发人员无需额外工具或手动转换步骤即可部署训练有素的模型。 

导出过程可以使用命令行或Python 代码完成,因此开发人员可以选择最适合其工作流程的方法。这有助于保持简单,减少出现设置问题的几率。模型导出后,可用于对象检测、图像分类、姿态估计和实例分割等计算机视觉任务

对于设备内存有限或需要快速处理的部署场景来说,这是一个不错的选择。导出的模型经过优化,即使在资源有限的系统上也能高效运行。 

如何将YOLO11 模型导出为PaddlePaddle 格式

只需几步就能将YOLO11 输出为PaddlePaddle 模型格式。

第一步是使用 "pip "之类的软件包管理器安装Ultralytics Python 软件包。在命令提示符或终端运行 "pip installultralytics"命令即可开始安装。

Ultralytics 软件包为一系列计算机视觉任务提供了训练、评估、微调、输出和部署模型的工具。如果在安装过程中遇到任何问题,请查看常见问题指南,了解故障排除技巧。

环境设置完成后,您可以加载并导出预先训练好YOLO11 模型,例如 "yolo11n.pt",如下图所示。您也可以导出自己自定义训练的YOLO11 模型。

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="paddle")

将模型转换为PaddlePaddle 格式后,就可以在不同类型的硬件上部署到各种场景中。

例如,在下面的示例中,我们正在加载一个导出为PaddlePaddle 格式的YOLO11 模型,并用它进行预测。这个过程被称为运行推理,简单来说就是使用模型分析新数据。在这里,我们使用两只狗的图像对其进行测试。

paddle_model = YOLO("./yolo11n_paddle_model")

results = paddle_model("https://www.pexels.com/photo/2-vizsla-dogs-standing-on-brown-wood-plank-33287/")

运行代码后,包含模型预测结果的输出图像将自动保存在 "runs/detect/predict "文件夹中。

图 3.使用导出的YOLO11 模型检测图像中的物体。图片由作者提供。

使用PaddlePaddle 框架部署YOLO11

PaddlePaddle 提供多种部署工具,每种工具都适合不同的设备和使用案例,如云环境、嵌入式系统和网络应用。以下是一些主要的部署选项

  • Paddle Serving:
  • Paddle Inference API:
  • Paddle Lite:专为移动设备、平板电脑和嵌入式系统的轻量级部署而设计。
  • Paddle.js: 它可以让你在网络浏览器中使用 WebGL 和 WebAssembly 等技术运行人工智能模型,对于交互式演示和基于浏览器的工具非常有用。
图 4.PaddlePaddle 支持的部署选项。图片由作者提供。

选择适合您设置的工具后,您就可以加载导出的模型。PaddlePaddle 引擎会负责接下来的步骤。它会加载模型、处理输入图像并返回结果。

什么时候应该选择PaddlePaddle 集成?

Ultralytics Python 软件包还支持其他各种导出格式,因此你可能会问,什么时候选择PaddlePaddleUltralytics 合适?PaddlePaddle 什么时候是正确的选择?

当你希望在资源有限的设备(如智能手机、嵌入式系统或边缘硬件)上部署模型时,PaddlePaddle 是一个可靠的选择。它也非常适合需要快速、高效性能的实时应用,如移动应用中的物体检测、智能相机中基于视觉的监控或无需云支持直接在设备上运行的姿态估计。

除此之外,如果项目需要离线运行或在低连接性环境中运行,可以考虑使用PaddlePaddle 集成。制造业中的视觉检测工具、用于现场勘测的手持设备或支持人工智能的零售扫描仪等应用,都可以受益于PaddlePaddle的轻量级运行时间和灵活的部署选项。 

需要考虑的PaddlePaddle 限制

虽然PaddlePaddle 提供了有趣的部署功能,但也有一些限制因素需要注意:

  • 全球社区规模较小:中国以外的用户和贡献者基数相对较小。这可能会增加寻找社区支持、GitHub 问题解决或 Stack Overflow 答案的难度。
  • 非百度工具的学习曲线较长:PaddlePaddle 可与百度生态系统顺利集成,但在此背景之外使用它可能需要额外的配置和设置步骤。
  • 与主流 ML 工具的集成较少:PaddlePaddle 与Hugging Face Transformers、MLflow 或Kubernetes 原生 AI 服务等常用工具的兼容性有限。

主要收获

Ultralytics 支持的PaddlePaddle 集成可以轻松地在各种设备上导出和部署YOLO11 模型。对于需要在设备上实现高效性能的项目(如移动应用程序、智能相机或嵌入式系统),它尤其有用。

只需几个步骤,您就可以将强大的视觉模型带入现实世界的应用中。随着计算机视觉技术的不断进步,像YOLO 和PaddlePaddle 这样的工具使得构建从消费设备到工业工具的快速智能系统变得前所未有的简单。

立即加入我们不断壮大的社区!探索我们的GitHub 存储库,深入了解人工智能。想构建自己的计算机视觉项目?了解我们的许可选项。访问我们的解决方案页面,了解计算机视觉如何在医疗保健领域提高效率,并探索人工智能对零售业的影响!

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

在此类别中阅读更多内容

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

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