跳至内容

如何从YOLOv8 模型导出到PaddlePaddle 格式

PaddlePaddle 注重灵活性、性能以及在分布式环境中进行并行处理的能力,使这一过程变得更加容易。这意味着您可以在从智能手机到云服务器等各种设备和平台上使用YOLOv8 计算机视觉模型。

导出到PaddlePaddle 模型格式的功能使您能够优化模型,以便在 框架内使用。 Ultralytics YOLOv8PaddlePaddle PaddlePaddle 以方便工业部署而著称,是在各个领域的真实环境中部署计算机视觉应用程序的理想选择。

为什么要导出到PaddlePaddle ?

PaddlePaddle 标志

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

它提供与TensorFlow 和PyTorch 等流行框架类似的工具和资源,使各种经验水平的开发人员都能使用。从农业、工厂到服务企业,PaddlePaddle 超过 477 万的庞大开发者社区正在帮助创建和部署人工智能应用。

通过将Ultralytics YOLOv8 模型导出为PaddlePaddle 格式,您可以利用PaddlePaddle在性能优化方面的优势。PaddlePaddle 优先考虑高效执行模型和减少内存使用。因此,您的YOLOv8 模型有可能获得更好的性能,在实际应用中提供一流的结果。

PaddlePaddle 机型的主要特点

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

  • 动态到静态图:PaddlePaddle 支持动态到静态编译,可将模型转化为静态计算图。这样可以进行优化,减少运行时开销,提高推理性能。

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

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

中的部署选项PaddlePaddle

在深入研究将YOLOv8 模型导出到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 使您能够在网络浏览器中直接部署PaddlePaddle 模型。Paddle.js 既可以加载预训练模型,也可以使用 Paddle.js 提供的模型转换工具从paddle-hub转换模型。它可以在支持 WebGL/WebGPU/WebAssembly 的浏览器中运行。

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

将YOLOv8 模型转换为PaddlePaddle 格式可以提高执行灵活性,优化各种部署方案的性能。

安装

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

安装

# Install the required package for YOLOv8
pip install ultralytics

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

使用方法

在了解使用说明之前,需要注意的是,虽然Ultralytics YOLOv8 的所有 型号都可以导出,但您可以在此确保您选择的型号支持导出功能。

使用方法

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

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

# Load the exported PaddlePaddle model
paddle_model = YOLO('./yolov8n_paddle_model')

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

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

有关支持的导出选项的详细信息,请访问Ultralytics 部署选项文档页面

部署导出的YOLOv8 PaddlePaddle 模型

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

不过,有关在其他各种环境中部署PaddlePaddle 模型的深入说明,请参阅以下资源:

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

  • 轻便桨:探索如何使用 Paddle Lite 在移动和嵌入式设备上优化和部署模型。

  • Paddle.js:了解如何使用 Paddle.js 在网页浏览器中运行PaddlePaddle 模型,以实现客户端人工智能。

摘要

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

有关使用的详细信息,请访问PaddlePaddle 官方文档

想要探索更多整合Ultralytics YOLOv8 模型的方法吗?我们的集成指南页面探讨了各种选项,为您提供宝贵的资源和见解。



创建于 2024-03-11,更新于 2024-04-02
作者:Burhan-Q(1),abirami-vina(2)

评论