Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Configuración de cookies
Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Aprenda a exportar modelos Ultralytics YOLO como Ultralytics YOLO11 con PaddlePaddle para una implementación eficiente en plataformas edge, móviles y en la nube.
A medida que avanza la inteligencia artificial (IA), las máquinas mejoran su comprensión del mundo que las rodea. Un área clave que impulsa este progreso es la visión artificial, una rama de la IA que permite a las máquinas interpretar y tomar decisiones basadas en datos visuales.
Desde ayudar a los coches a reconocer las señales de tráfico hasta revisar los estantes en las tiendas minoristas, la visión artificial ahora forma parte de muchas herramientas cotidianas. Estas tareas se basan en modelos de Visión Artificial que pueden escanear rápidamente una foto o un vídeo e identificar lo que es importante.
Con el tiempo, estos modelos se han vuelto más rápidos y precisos, lo que los hace útiles en áreas como la agricultura, la sanidad, la seguridad y el comercio minorista. Por ejemplo, Ultralytics YOLO11 es un modelo creado para gestionar una serie de tareas de visión artificial con rapidez y precisión. Puede detectar y clasificar objetos, rastrear movimientos y estimar poses corporales.
Una parte vital para trasladar la visión artificial de la investigación a las aplicaciones del mundo real es el despliegue. Una vez que se ha entrenado un modelo, el siguiente paso es ejecutarlo en dispositivos como teléfonos, hardware perimetral o servidores en la nube.
Fig. 1. El despliegue de modelos es una parte clave de cualquier proyecto de visión artificial.
Para dar soporte a esto, los modelos Ultralytics YOLO como YOLO11 pueden exportarse a varios formatos dependiendo de la plataforma de destino. Uno de estos formatos es PaddlePaddle, un framework de IA de código abierto que permite el despliegue y la inferencia eficientes de modelos en una amplia gama de dispositivos y sistemas.
En este artículo, exploraremos cómo Ultralytics YOLO11 se puede exportar a través de la integración de PaddlePaddle soportada por Ultralytics para permitir una implementación eficiente en varias plataformas.
¿Qué es PaddlePaddle?
Implementar modelos de IA fuera de entornos de investigación, como en dispositivos móviles o hardware periférico, puede ser complicado a veces, especialmente cuando se necesita que se ejecuten de forma eficiente y utilicen recursos mínimos. PaddlePaddle es un framework de aprendizaje profundo diseñado para ayudar precisamente con eso.
Es una plataforma china de código abierto, cuyo nombre significa Aprendizaje Profundo Distribuido Paralelo. Desarrollada por Baidu, una empresa muy conocida por su trabajo en IA e infraestructura de software, PaddlePaddle se creó especialmente para aplicaciones del mundo real, no solo para la investigación.
Los desarrolladores pueden ejecutar modelos en formato PaddlePaddle en servidores, dispositivos perimetrales e incluso hardware móvil. También es compatible con herramientas que simplifican el desarrollo de la IA, incluidas las opciones de bajo código y sin código. La plataforma tiene una sólida comunidad de desarrolladores de más de 4,7 millones de usuarios y se utiliza en una variedad de industrias, incluidas la atención médica, la agricultura, la fabricación y las finanzas.
Características principales de PaddlePaddle
Estas son algunas de las características clave que ayudan a PaddlePaddle a ejecutar modelos de manera más eficiente en dispositivos del mundo real:
Conversión de grafo dinámico a estático: Esta característica convierte un modelo flexible en una versión fija que se ejecuta de manera más fluida y predecible. Un modelo fijo es más fácil de optimizar y más rápido al hacer predicciones.
Fusión de operadores: PaddlePaddle puede combinar varios pasos del modelo en uno solo. Esto reduce la cantidad de memoria que utiliza el modelo y ayuda a que se ejecute más rápido. Piense en ello como combinar varias tareas en una sola acción para ahorrar tiempo.
Cuantización: Esto reduce el tamaño del modelo mediante el uso de números más simples (como el redondeo a menos decimales). Ayuda a que el modelo se ejecute en dispositivos con potencia limitada, como teléfonos o cámaras inteligentes, sin perder mucha precisión.
Fig. 2. Ventajas de usar PaddlePaddle. Imagen del autor.
Una visión general de la implementación de YOLO11 con PaddlePaddle
La integración de PaddlePaddle soportada por Ultralytics facilita el paso del entrenamiento al despliegue. Los desarrolladores que ya utilizan las herramientas de PaddlePaddle pueden incorporar YOLO11 a sus flujos de trabajo más fácilmente.
El paquete de Python de Ultralytics admite la exportación directa de modelos YOLO11 al formato PaddlePaddle, lo que permite a los desarrolladores implementar modelos entrenados sin herramientas adicionales ni pasos de conversión manual.
El proceso de exportación se puede realizar utilizando la línea de comandos o el código de Python, para que los desarrolladores puedan elegir el método que mejor se adapte a su flujo de trabajo. Esto ayuda a mantener las cosas simples y reduce la posibilidad de problemas de configuración. Una vez exportado, el modelo se puede utilizar para tareas de visión artificial como la detección de objetos, la clasificación de imágenes, la estimación de la pose y la segmentación de instancias.
Es una excelente opción para escenarios de implementación en los que los dispositivos tienen memoria limitada o requieren un procesamiento rápido. Los modelos exportados están optimizados para ejecutarse de manera eficiente, incluso en sistemas con recursos limitados.
Cómo exportar modelos YOLO11 al formato PaddlePaddle
Solo se necesitan unos pocos pasos para exportar YOLO11 al formato de modelo PaddlePaddle.
El primer paso es instalar el paquete de Python de Ultralytics utilizando un gestor de paquetes como ‘pip’. Esto se puede hacer ejecutando el comando “pip install ultralytics” en su símbolo del sistema o terminal para empezar.
El paquete Ultralytics proporciona herramientas para el entrenamiento, evaluación, ajuste, exportación e implementación de modelos para una variedad de tareas de visión artificial. Si tienes algún problema durante la instalación, consulta la guía de problemas comunes para obtener consejos de solución de problemas.
Una vez que tu entorno esté configurado, puedes cargar y exportar un modelo YOLO11 pre-entrenado como “yolo11n.pt” como se muestra a continuación. También puedes exportar tu propio modelo YOLO11 entrenado a medida.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="paddle")
Una vez que tu modelo se ha convertido al formato PaddlePaddle, se puede implementar en varios escenarios en diferentes tipos de hardware.
Por ejemplo, en el ejemplo siguiente, estamos cargando un modelo YOLO11 que se exportó al formato PaddlePaddle y lo estamos utilizando para hacer una predicción. Este proceso, conocido como ejecución de una inferencia, simplemente significa utilizar el modelo para analizar nuevos datos. Aquí, lo estamos probando con una imagen de dos perros.
Después de ejecutar el código, la imagen de salida con las predicciones del modelo se guardará automáticamente en la carpeta “runs/detect/predict”.
Fig. 3. Uso del modelo YOLO11 exportado para detectar objetos en una imagen. Imagen del autor.
Implementación de YOLO11 usando el framework PaddlePaddle
PaddlePaddle ofrece varias herramientas de implementación, cada una adecuada para diferentes dispositivos y casos de uso, como entornos de nube, sistemas integrados y aplicaciones web. Estas son algunas de las principales opciones de implementación:
Paddle Serving: Ayuda a implementar modelos como APIs REST, lo que lo convierte en una buena opción para entornos de nube o servidor que necesitan características como el control de versiones y las pruebas en línea.
Paddle Inference API: Le da más control sobre cómo se ejecutan los modelos, lo cual es útil cuando necesita ajustar el rendimiento o construir una lógica de aplicación personalizada.
Paddle Lite: Está diseñado para una implementación ligera en dispositivos móviles, tabletas y sistemas integrados. Está optimizado para modelos más pequeños y una inferencia más rápida en hardware con recursos limitados.
Paddle.js: Le permite ejecutar modelos de IA en navegadores web utilizando tecnologías como WebGL y WebAssembly, lo cual es útil para demostraciones interactivas y herramientas basadas en el navegador.
Fig. 4. Opciones de implementación habilitadas por PaddlePaddle. Imagen del autor.
Una vez que elijas la herramienta adecuada para tu configuración, puedes cargar el modelo exportado. El motor PaddlePaddle se encarga de los siguientes pasos. Carga el modelo, procesa la imagen de entrada y devuelve los resultados.
¿Cuándo debería elegir la integración de PaddlePaddle?
El paquete de Python de Ultralytics también admite varios otros formatos de exportación, por lo que es posible que te preguntes: ¿Cuándo es PaddlePaddle la elección correcta?
PaddlePaddle es una opción fiable cuando se busca implementar modelos en dispositivos con recursos limitados, como teléfonos inteligentes, sistemas integrados o hardware perimetral. También es ideal para aplicaciones en tiempo real que necesitan un rendimiento rápido y eficiente, como la detección de objetos en aplicaciones móviles, la supervisión basada en la visión en cámaras inteligentes o la estimación de la pose que se ejecuta directamente en el dispositivo sin soporte en la nube.
Más allá de esto, si el proyecto necesita ejecutarse sin conexión o en entornos de baja conectividad, puede considerar usar la integración de PaddlePaddle. Aplicaciones como las herramientas de inspección visual en la fabricación, los dispositivos portátiles para estudios de campo o los escáneres minoristas habilitados con IA pueden beneficiarse del tiempo de ejecución ligero y las opciones de implementación flexibles de PaddlePaddle.
Limitaciones de PaddlePaddle a tener en cuenta
Si bien PaddlePaddle ofrece capacidades de implementación interesantes, estos son algunos factores limitantes que debe tener en cuenta:
Comunidad global más pequeña: Fuera de China, la base de usuarios y colaboradores es relativamente pequeña. Esto puede dificultar la búsqueda de soporte de la comunidad, la resolución de problemas en GitHub o las respuestas en Stack Overflow.
Curva de aprendizaje más pronunciada para herramientas que no son de Baidu: PaddlePaddle se integra sin problemas con el ecosistema de Baidu, pero usarlo fuera de ese contexto puede implicar pasos adicionales de configuración e instalación.
Menos integraciones con herramientas ML convencionales: PaddlePaddle tiene una compatibilidad limitada con herramientas comunes como Hugging Face Transformers, MLflow o servicios de IA nativos de Kubernetes.
Conclusiones clave
La integración de PaddlePaddle soportada por Ultralytics facilita la exportación e implementación de modelos YOLO11 en una amplia gama de dispositivos. Es especialmente útil para proyectos que requieren un rendimiento eficiente en el dispositivo, como aplicaciones móviles, cámaras inteligentes o sistemas integrados.
Con solo unos pocos pasos, puede incorporar potentes modelos de visión en aplicaciones del mundo real. A medida que la visión artificial continúa avanzando, herramientas como YOLO y PaddlePaddle están facilitando más que nunca la creación de sistemas rápidos e inteligentes en todo, desde dispositivos de consumo hasta herramientas industriales.