Saltar al contenido

C贸mo exportar a formato PaddlePaddle desde modelos YOLOv8

Salvar la distancia entre el desarrollo y el despliegue de modelos de visi贸n por ordenador en escenarios del mundo real con condiciones variables puede ser dif铆cil. PaddlePaddle facilita este proceso con su enfoque en la flexibilidad, el rendimiento y su capacidad para el procesamiento paralelo en entornos distribuidos. Esto significa que puedes utilizar tus modelos de visi贸n por ordenador YOLOv8 en una amplia variedad de dispositivos y plataformas, desde tel茅fonos inteligentes a servidores basados en la nube.

La posibilidad de exportar al formato de modelo PaddlePaddle te permite optimizar tus modelos para utilizarlos en el marco . Ultralytics YOLOv8 modelos para su uso en el marco PaddlePaddle . PaddlePaddle es conocido por facilitar las implantaciones industriales y es una buena opci贸n para implantar aplicaciones de visi贸n por ordenador en entornos del mundo real en diversos dominios.

驴Por qu茅 debes exportar a PaddlePaddle?

PaddlePaddle Logotipo

Desarrollado por Baidu, PaddlePaddle(PArallel Distributed Deep LEarning) es la primera plataforma de aprendizaje profundo de c贸digo abierto de China. A diferencia de algunos marcos construidos principalmente para la investigaci贸n, PaddlePaddle prioriza la facilidad de uso y la integraci贸n sin problemas en todos los sectores.

Ofrece herramientas y recursos similares a marcos populares como TensorFlow y PyTorch, haci茅ndolo accesible para desarrolladores de todos los niveles de experiencia. Desde granjas y f谩bricas hasta empresas de servicios, la gran comunidad de desarrolladores de PaddlePaddle, con m谩s de 4,77 millones, est谩 ayudando a crear y desplegar aplicaciones de IA.

Al exportar su archivo Ultralytics YOLOv8 modelos para PaddlePaddle formato, puedes acceder a PaddlePaddleen la optimizaci贸n del rendimiento. PaddlePaddle Prioriza la ejecuci贸n eficiente del modelo y reduce el uso de memoria. Como resultado, su YOLOv8 Los modelos pueden alcanzar un rendimiento a煤n mejor, ofreciendo resultados de primer nivel en escenarios pr谩cticos.

Caracter铆sticas principales de los modelos PaddlePaddle

PaddlePaddle ofrecen una serie de caracter铆sticas clave que contribuyen a su flexibilidad, rendimiento y escalabilidad en diversos escenarios de implantaci贸n:

  • Gr谩fico din谩mico a est谩tico: PaddlePaddle admite la compilaci贸n din谩mica a est谩tica, en la que los modelos pueden traducirse a un gr谩fico computacional est谩tico. Esto permite optimizaciones que reducen la sobrecarga en tiempo de ejecuci贸n y aumentan el rendimiento de la inferencia.

  • Fusi贸n de operadores: PaddlePaddle, al igual que TensorRT, utiliza la fusi贸n de operadores para agilizar el c谩lculo y reducir la sobrecarga. El marco minimiza las transferencias de memoria y los pasos computacionales fusionando operaciones compatibles, lo que da lugar a una inferencia m谩s r谩pida.

  • Cuantizaci贸n: PaddlePaddle admite t茅cnicas de cuantizaci贸n, incluida la cuantizaci贸n posterior al entrenamiento y el entrenamiento consciente de la cuantizaci贸n. Estas t茅cnicas permiten utilizar representaciones de datos de menor precisi贸n, lo que aumenta eficazmente el rendimiento y reduce el tama帽o del modelo.

Opciones de despliegue en PaddlePaddle

Antes de sumergirnos en el c贸digo para exportar modelos de YOLOv8 a PaddlePaddle, echemos un vistazo a los distintos escenarios de despliegue en los que destacan los modelos de PaddlePaddle .

PaddlePaddle proporciona una gama de opciones, cada una de las cuales ofrece un equilibrio distinto entre facilidad de uso, flexibilidad y rendimiento:

  • Paddle Serving: Este marco simplifica el despliegue de los modelos PaddlePaddle como API RESTful de alto rendimiento. Paddle Serving es ideal para entornos de producci贸n, ya que ofrece funciones como el versionado de modelos, pruebas A/B en l铆nea y escalabilidad para gestionar grandes vol煤menes de solicitudes.

  • API de Inferencia de P谩del: La API de Inferencia Paddle te proporciona un control de bajo nivel sobre la ejecuci贸n del modelo. Esta opci贸n es adecuada para situaciones en las que necesitas integrar el modelo estrechamente en una aplicaci贸n personalizada u optimizar el rendimiento para un hardware espec铆fico.

  • P谩del Lite: Paddle Lite est谩 dise帽ado para su despliegue en dispositivos m贸viles e integrados en los que los recursos son limitados. Optimiza los modelos para tama帽os m谩s peque帽os e inferencia m谩s r谩pida en CPUs ARM, GPUs y otro hardware especializado.

  • Paddle.js: Paddle.js te permite desplegar modelos PaddlePaddle directamente en los navegadores web. Paddle.js puede cargar un modelo preentrenado o transformar un modelo desde paddle-hub con herramientas de transformaci贸n de modelos proporcionadas por Paddle.js. Puede ejecutarse en navegadores que admitan WebGL/WebGPU/WebAssembly.

Exportar a PaddlePaddle: Convertir tu modelo YOLOv8

Convertir los modelos de YOLOv8 al formato PaddlePaddle puede mejorar la flexibilidad de ejecuci贸n y optimizar el rendimiento para diversos escenarios de implantaci贸n.

Instalaci贸n

Para instalar el paquete necesario, ejecuta

Instalaci贸n

# Install the required package for YOLOv8
pip install ultralytics

Para obtener instrucciones detalladas y buenas pr谩cticas relacionadas con el proceso de instalaci贸n, consulta nuestra gu铆a de instalaci贸nUltralytics . Mientras instalas los paquetes necesarios para YOLOv8, si encuentras alguna dificultad, consulta nuestra gu铆a de Problemas comunes para encontrar soluciones y consejos.

Utilizaci贸n

Antes de sumergirte en las instrucciones de uso, es importante tener en cuenta que, aunque todos los modelos deUltralytics YOLOv8 est谩n disponibles para exportar, aqu铆 puedes asegurarte de que el modelo que seleccionas admite la funci贸n de exportaci贸n.

Utilizaci贸n

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'

Para m谩s detalles sobre las opciones de exportaci贸n admitidas, visita la p谩gina de documentaci贸nUltralytics sobre opciones de despliegue.

Despliegue de modelos exportados de YOLOv8 PaddlePaddle

Despu茅s de exportar con 茅xito tus modelos Ultralytics YOLOv8 al formato PaddlePaddle , ya puedes desplegarlos. El primer paso principal y recomendado para ejecutar un modelo PaddlePaddle es utilizar el m茅todo YOLO("./model_paddle_model"), como se indica en el fragmento de c贸digo de uso anterior.

Sin embargo, para obtener instrucciones detalladas sobre la implantaci贸n de tus modelos PaddlePaddle en otros entornos, consulta los siguientes recursos:

  • P谩del Serving: Aprende a desplegar tus modelos PaddlePaddle como servicios performantes utilizando Paddle Serving.

  • P谩del Lite: Explora c贸mo optimizar y desplegar modelos en dispositivos m贸viles e integrados utilizando Paddle Lite.

  • Paddle.js: Descubre c贸mo ejecutar modelos PaddlePaddle en navegadores web para IA del lado del cliente utilizando Paddle.js.

Resumen

En esta gu铆a, exploramos el proceso de exportaci贸n de modelos Ultralytics YOLOv8 al formato PaddlePaddle . Siguiendo estos pasos, puedes aprovechar los puntos fuertes de PaddlePaddle en diversos escenarios de despliegue, optimizando tus modelos para diferentes entornos de hardware y software.

Para m谩s detalles sobre su uso, visita la documentaci贸n oficialPaddlePaddle

驴Quieres explorar m谩s formas de integrar tus modelos Ultralytics YOLOv8 ? Nuestra p谩gina de la gu铆a de integraci贸n explora varias opciones, proporcion谩ndote valiosos recursos y conocimientos.

PREGUNTAS FRECUENTES

驴C贸mo puedo exportar modelos de Ultralytics YOLOv8 al formato PaddlePaddle ?

Exportar los modelos Ultralytics YOLOv8 al formato PaddlePaddle es muy sencillo. Puedes utilizar la funci贸n export de la clase YOLO para realizar esta exportaci贸n. Aqu铆 tienes un ejemplo utilizando Python:

Utilizaci贸n

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'

Para una configuraci贸n y resoluci贸n de problemas m谩s detalladas, consulta la Gu铆a de instalaci贸n y la Gu铆a de problemas comunes de Ultralytics .

驴Cu谩les son las ventajas de utilizar PaddlePaddle para el despliegue de modelos?

PaddlePaddle ofrece varias ventajas clave para el despliegue de modelos:

  • Optimizaci贸n del rendimiento: PaddlePaddle destaca por la eficacia en la ejecuci贸n del modelo y la reducci贸n del uso de memoria.
  • Compilaci贸n de gr谩ficos din谩mica a est谩tica: Admite la compilaci贸n din谩mica a est谩tica, lo que permite optimizaciones en tiempo de ejecuci贸n.
  • Fusi贸n de operadores: Al fusionar operaciones compatibles, reduce la carga computacional.
  • T茅cnicas de Cuantizaci贸n: Admite tanto el post-entrenamiento como el entrenamiento consciente de la cuantizaci贸n, permitiendo representaciones de datos de menor precisi贸n para mejorar el rendimiento.

Puedes conseguir mejores resultados exportando tus modelos Ultralytics YOLOv8 a PaddlePaddle, lo que garantiza flexibilidad y alto rendimiento en diversas aplicaciones y plataformas de hardware. Obt茅n m谩s informaci贸n sobre las funciones de PaddlePaddleaqu铆.

驴Por qu茅 deber铆a elegir PaddlePaddle para desplegar mis modelos YOLOv8 ?

PaddlePaddledesarrollado por Baidu, est谩 optimizado para implantaciones industriales y comerciales de IA. Su gran comunidad de desarrolladores y su robusto marco proporcionan amplias herramientas similares a TensorFlow y PyTorch. Al exportar tus modelos de YOLOv8 a PaddlePaddle, aprovechas:

  • Rendimiento mejorado: Velocidad de ejecuci贸n 贸ptima y huella de memoria reducida.
  • Flexibilidad: Amplia compatibilidad con varios dispositivos, desde smartphones a servidores en la nube.
  • Escalabilidad: Capacidades eficientes de procesamiento paralelo para entornos distribuidos.

Estas caracter铆sticas hacen de PaddlePaddle una opci贸n convincente para desplegar modelos YOLOv8 en entornos de producci贸n.

驴C贸mo mejora PaddlePaddle el rendimiento del modelo con respecto a otros marcos?

PaddlePaddle emplea varias t茅cnicas avanzadas para optimizar el rendimiento del modelo:

  • Gr谩fico din谩mico a est谩tico: Convierte los modelos en un grafo computacional est谩tico para las optimizaciones en tiempo de ejecuci贸n.
  • Fusi贸n de operadores: Combina operaciones compatibles para minimizar la transferencia de memoria y aumentar la velocidad de inferencia.
  • Cuantizaci贸n: Reduce el tama帽o del modelo y aumenta la eficacia utilizando datos de menor precisi贸n, manteniendo la exactitud.

Estas t茅cnicas dan prioridad a la ejecuci贸n eficiente del modelo, lo que convierte a PaddlePaddle en una opci贸n excelente para desplegar modelos YOLOv8 de alto rendimiento. Para m谩s informaci贸n sobre la optimizaci贸n, consulta la documentaci贸n oficial de PaddlePaddle .

驴Qu茅 opciones de despliegue ofrece PaddlePaddle para los modelos YOLOv8 ?

PaddlePaddle ofrece opciones de despliegue flexibles:

  • Paddle Serving: Despliega modelos como API RESTful, ideal para producci贸n con funciones como versionado de modelos y pruebas A/B en l铆nea.
  • API de Inferencia de Paleta: Proporciona un control de bajo nivel sobre la ejecuci贸n del modelo para aplicaciones personalizadas.
  • P谩del Lite: Optimiza los modelos para los recursos limitados de los dispositivos m贸viles e integrados.
  • Paddle.js: Permite desplegar modelos directamente en los navegadores web.

Estas opciones cubren una amplia gama de escenarios de despliegue, desde la inferencia en el dispositivo hasta los servicios escalables en la nube. Explora m谩s estrategias de despliegue en la p谩gina Opciones de despliegue del modeloUltralytics .



Creado 2024-03-11, Actualizado 2024-07-05
Autores: glenn-jocher (5), Burhan-Q (1), abirami-vina (2)

Comentarios