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 tus modelos Ultralytics YOLOv8 al formato PaddlePaddle , puedes aprovechar los puntos fuertes de PaddlePaddleen la optimizaci贸n del rendimiento. PaddlePaddle prioriza la ejecuci贸n eficiente de los modelos y la reducci贸n del uso de memoria. Como resultado, tus modelos YOLOv8 pueden alcanzar potencialmente un rendimiento a煤n mayor, ofreciendo resultados de primera clase 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.



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

Comentarios