跳转至内容

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

在不同条件下,开发和部署现实世界中的计算机视觉模型之间的差距可能难以弥合。PaddlePaddle 专注于灵活性、性能以及在分布式环境中进行并行处理的能力,从而简化了此过程。这意味着您可以在各种设备和平台上使用您的 YOLO11 计算机视觉模型,从智能手机到基于云的服务器。



观看: 如何将 Ultralytics YOLO11 模型导出为 PaddlePaddle 格式 | PaddlePaddle 格式的主要特性

导出为 PaddlePaddle 模型格式的功能使您可以优化Ultralytics YOLO11模型,以便在 PaddlePaddle 框架中使用。PaddlePaddle 以促进工业部署而闻名,并且是在各种领域中的实际环境中部署计算机视觉应用程序的理想选择。

为什么要导出到 PaddlePaddle?

PaddlePaddle 标志

由百度开发的 PaddlePaddlePArallel Distributed Deep LEarning,并行分布式深度学习)是中国首个开源深度学习平台。与一些主要为研究而构建的框架不同,PaddlePaddle 优先考虑易用性以及跨行业的平滑集成。

它提供了类似于 TensorFlowPyTorch 等流行框架的工具和资源,使所有经验水平的开发人员都可以访问它。从农业和工厂到服务业务,PaddlePaddle 超过 477 万的庞大开发者社区正在帮助创建和部署 AI 应用程序。

通过将您的 Ultralytics YOLO11 模型导出为 PaddlePaddle 格式,您可以充分利用 PaddlePaddle 在性能优化方面的优势。PaddlePaddle 优先考虑高效的模型执行和降低内存使用。因此,您的 YOLO11 模型可能会获得更好的性能,从而在实际场景中提供一流的结果。

PaddlePaddle 模型的主要特性

PaddlePaddle 模型提供了一系列关键功能,这些功能有助于它们在各种部署场景中的灵活性、性能和可扩展性:

  • 动态到静态图: PaddlePaddle 支持动态到静态编译,其中模型可以被翻译成静态计算图。这可以实现减少运行时开销并提高推理性能的优化。

  • 算子融合:PaddlePaddle 像 TensorRT 一样,使用算子融合来简化计算并减少开销。该框架通过合并兼容的操作来最大限度地减少内存传输和计算步骤,从而加快推理速度。

  • 量化:PaddlePaddle 支持量化技术,包括训练后量化和量化感知训练。这些技术允许使用较低精度的数据表示,从而有效地提高性能并减小模型尺寸。

PaddlePaddle 中的部署选项

在深入研究将 YOLO11 模型导出到 PaddlePaddle 的代码之前,让我们先看看 PaddlePaddle 模型擅长的不同部署场景。

PaddlePaddle 提供了多种选择,每种选择都在易用性、灵活性和性能之间提供独特的平衡:

  • Paddle Serving: 此框架简化了将 PaddlePaddle 模型部署为高性能 RESTful API 的过程。Paddle Serving 非常适合生产环境,提供模型版本控制、在线 A/B 测试以及处理大量请求的可扩展性等功能。

  • Paddle Inference API: Paddle Inference API 使您可以对模型执行进行底层控制。此选项非常适合需要在自定义应用程序中紧密集成模型或针对特定硬件优化性能的场景。

  • Paddle Lite: Paddle Lite 专为资源有限的移动和嵌入式设备上的部署而设计。它可以优化模型,使其在 ARM CPU、GPU 和其他专用硬件上具有更小的尺寸和更快的推理速度。

  • Paddle.js: Paddle.js 使您能够直接在 Web 浏览器中部署 PaddlePaddle 模型。Paddle.js 可以加载预训练模型,也可以使用 Paddle.js 提供的模型转换工具从paddle-hub转换模型。它可以在支持 WebGL/WebGPU/WebAssembly 的浏览器中运行。

导出到 PaddlePaddle:转换您的 YOLO11 模型

将 YOLO11 模型转换为 PaddlePaddle 格式可以提高执行灵活性并优化各种部署场景的性能。

安装

要安装所需的软件包,请运行:

安装

# Install the required package for YOLO11
pip install ultralytics

有关安装过程的详细说明和最佳实践,请查看我们的 Ultralytics 安装指南。如果在为 YOLO11 安装所需软件包时遇到任何困难,请查阅我们的 常见问题指南以获取解决方案和提示。

用法

所有Ultralytics YOLO11 模型都支持导出,您可以浏览导出格式和选项的完整列表,以找到最适合您部署需求的格式和选项。

用法

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolo11n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolo11n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to PaddlePaddle format
yolo export model=yolo11n.pt format=paddle # creates '/yolo11n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolo11n_paddle_model' source='https://ultralytics.com/images/bus.jpg'

导出参数

参数 类型 默认值 描述
format str 'paddle' 导出模型的目标格式,定义与各种部署环境的兼容性。
imgsz inttuple 640 模型输入的所需图像大小。 可以是正方形图像的整数或元组 (height, width) 用于指定特定维度。
batch int 1 指定导出模型批处理推理大小或导出模型将并发处理的最大图像数量,在 predict 模式下。
device str None 指定导出设备:CPU(device=cpu),适用于 Apple 芯片的 MPS(device=mps)。

有关导出过程的更多详细信息,请访问Ultralytics 文档页面上的导出

部署导出的 YOLO11 PaddlePaddle 模型

成功将 Ultralytics YOLO11 模型导出为 PaddlePaddle 格式后,您现在可以部署它们。运行 PaddlePaddle 模型的主要和推荐的第一步是使用 YOLO("yolo11n_paddle_model/") 方法,如前面的使用代码段中所述。

但是,有关在各种其他设置中部署 PaddlePaddle 模型的深入说明,请查看以下资源:

  • Paddle Serving:了解如何使用 Paddle Serving 将您的 PaddlePaddle 模型部署为高性能服务。

  • Paddle Lite:了解如何使用 Paddle Lite 在移动和嵌入式设备上优化和部署模型。

  • Paddle.js: 了解如何使用 Paddle.js 在 Web 浏览器中运行 PaddlePaddle 模型,以实现客户端 AI。

总结

在本指南中,我们探讨了将 Ultralytics YOLO11 模型导出为 PaddlePaddle 格式的过程。通过遵循这些步骤,您可以利用 PaddlePaddle 在各种部署场景中的优势,从而针对不同的硬件和软件环境优化您的模型。

有关使用详情,请访问 PaddlePaddle 官方文档

想要探索更多集成 Ultralytics YOLO11 模型的方法吗?我们的集成指南页面探索了各种选项,为您提供有价值的资源和见解。

常见问题

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

将 Ultralytics YOLO11 模型导出为 PaddlePaddle 格式非常简单。您可以使用 export YOLO 类的 method 来执行此导出。这是一个使用 Python 的示例:

用法

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolo11n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolo11n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to PaddlePaddle format
yolo export model=yolo11n.pt format=paddle # creates '/yolo11n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolo11n_paddle_model' source='https://ultralytics.com/images/bus.jpg'

有关更详细的设置和故障排除,请查看 Ultralytics 安装指南常见问题解答指南

使用 PaddlePaddle 进行模型部署有哪些优势?

PaddlePaddle 为模型部署提供了几个关键优势:

  • 性能优化: PaddlePaddle 在高效的模型执行和减少内存使用方面表现出色。
  • 动态到静态图编译: 它支持动态到静态编译,从而可以进行运行时优化。
  • 算子融合:通过合并兼容的操作,减少计算开销。
  • 量化技术: 支持训练后量化和量化感知训练,从而实现更低的精度数据表示,以提高性能。

通过将您的 Ultralytics YOLO11 模型导出到 PaddlePaddle,您可以获得增强的结果,从而确保各种应用程序和硬件平台上的灵活性和高性能。请参阅PaddlePaddle 官方文档,了解 PaddlePaddle 的主要特性和功能。

为什么我应该选择 PaddlePaddle 来部署我的 YOLO11 模型?

PaddlePaddle 由百度开发,针对工业和商业 AI 部署进行了优化。其庞大的开发者社区和强大的框架提供了类似于 TensorFlow 和 PyTorch 的广泛工具。通过将您的 YOLO11 模型导出到 PaddlePaddle,您可以利用:

  • 增强的性能: 最佳执行速度和减少的内存占用。
  • 灵活性: 与从智能手机到云服务器的各种设备广泛兼容。
  • 可扩展性:用于分布式环境的高效并行处理能力。

这些特性使 PaddlePaddle 成为在生产环境中部署 YOLO11 模型的引人注目的选择。

PaddlePaddle 相较于其他框架,如何提高模型性能?

PaddlePaddle 采用多种先进技术来优化模型性能:

  • 动态到静态图: 将模型转换为静态计算图以进行运行时优化。
  • 算子融合:组合兼容的操作,以最大限度地减少内存传输并提高推理速度。
  • 量化:使用较低精度的数据,在保持准确性的同时,减小模型尺寸并提高效率。

这些技术优先考虑高效的模型执行,使 PaddlePaddle 成为部署高性能 YOLO11 模型的绝佳选择。有关优化的更多信息,请参阅 PaddlePaddle 官方文档

PaddlePaddle 为 YOLO11 模型提供哪些部署选项?

PaddlePaddle 提供灵活的部署选项:

  • Paddle Serving: 将模型部署为 RESTful API,非常适合用于生产,具有模型版本控制和在线 A/B 测试等功能。
  • Paddle Inference API: 提供对模型执行的底层控制,以用于自定义应用程序。
  • Paddle Lite: 优化模型,以适应移动和嵌入式设备有限的资源。
  • Paddle.js: 允许直接在 Web 浏览器中部署模型。

这些选项涵盖了广泛的部署场景,从设备上的推理到可扩展的云服务。在 Ultralytics 模型部署选项页面上探索更多部署策略。



📅 创建于 1 年前 ✏️ 更新于 4 个月前

评论