Yolo Vision Shenzhen
Shenzhen
Únete ahora

Cómo exportarYOLO de Ultralytics utilizando Ultralytics

Exporta modelos de IA para visión con facilidad mediante la Ultralytics . Descubre cómo preparar modelos en unos pocos clics para su implementación en dispositivos periféricos, móviles y en la nube.

¿Quieres poner en marcha un proyecto de visión artificial?

Descubre las opciones de licencia

El mes pasado lanzamos Ultralytics , un espacio de trabajo unificado diseñado para simplificar todo el flujo de trabajo de la visión artificial. Reúne las principales funciones de IA para la visión, como la gestión de conjuntos de datos, la anotación, el entrenamiento de modelos, las pruebas, la implementación y la supervisión, en una única interfaz optimizada.

Fig. 1. Una visión general de Ultralytics (Fuente)

Como parte de este flujo de trabajo integral, la implementación desempeña un papel crucial a la hora de llevar los modelos de la fase experimental al uso en el mundo real. Anteriormente, analizamos las diferentes opciones de implementación disponibles en la plataforma, entre las que se incluyen la inferencia compartida a través de API, los puntos de conexión dedicados para implementaciones de producción escalables y la exportación de modelos para ejecutarlos en dispositivos periféricos o en infraestructura externa.

Ahora, analicemos con más detalle la exportación de modelos y cómo facilita su implementación en distintos entornos. A diferencia de la inferencia compartida y los puntos finales dedicados, que ejecutan los modelos dentro de la infraestructura Ultralytics , la exportación de modelos permite implementar y ejecutar los modelos en entornos externos, como dispositivos periféricos, aplicaciones móviles e infraestructura personalizada.

Para que los modelos puedan ejecutarse en estos entornos, es necesario convertirlos a formatos compatibles con el entorno de ejecución de destino. Cada configuración de implementación tiene sus propios requisitos, desde formatos ligeros para dispositivos móviles y periféricos hasta formatos de alto rendimiento para sistemas GPU la nube y GPU.

Tradicionalmente, este proceso puede llevar mucho tiempo, ya que implica scripts, dependencias y múltiples herramientas. Con Ultralytics , la exportación es mucho más sencilla. Los modelos se pueden convertir y optimizar con solo unos clics, sin necesidad de configuraciones adicionales.

En este artículo, explicaremos qué significa la exportación de modelos, los formatos compatibles con Ultralytics y cómo elegir el más adecuado para tu caso de uso. ¡Empecemos!

Descripción general de la exportación de un modelo

La exportación de un modelo consiste en convertir un modelo preentrenado o entrenado a medida a un formato que pueda utilizarse fuera de su marco original. YOLO Ultralytics se crean con PyTorch se almacenan en su formato nativo, lo que resulta muy útil para el entrenamiento, la evaluación y la experimentación dentro del PyTorch .

Sin embargo, los entornos de implementación suelen tener requisitos de hardware y de tiempo de ejecución diferentes. Por este motivo, el formato utilizado durante el entrenamiento no siempre es adecuado para la implementación.

Por ejemplo, una aplicación móvil puede requerir un formato ligero optimizado para un bajo consumo energético, mientras que una aplicación basada en navegador necesita un formato que funcione de manera eficiente en entornos web. 

Los dispositivos periféricos, como las cámaras y los sistemas integrados, se benefician de modelos compactos y rápidos, mientras que los sistemas en la nube están diseñados para la inferencia de alto rendimiento. Para dar respuesta a estos diferentes escenarios, es necesario exportar los modelos a formatos compatibles. 

Por qué la opción de exportar modelos es más importante que nunca

Hoy en día, los modelos de visión artificial se están implementando más cerca del lugar donde se generan los datos, especialmente en dispositivos periféricos. Los teléfonos inteligentes ejecutan aplicaciones de visión en tiempo real, las cámaras de CCTV realizan la supervisión directamente en el dispositivo y los sistemas autónomos se basan en la toma de decisiones instantánea.

Sin embargo, la implementación en estos entornos plantea una serie de retos. Los dispositivos periféricos tienen una potencia de cálculo limitada, requisitos estrictos de latencia y restricciones en cuanto a memoria y consumo energético. Un modelo que funciona bien durante el entrenamiento con recursos suficientes puede que no se ejecute de manera eficiente en estas condiciones limitadas.

Exportar un modelo al formato adecuado puede ayudar a superar estos retos. Al convertir el modelo de forma adecuada, se puede optimizar su velocidad, reducir su tamaño y hacerlo compatible con un hardware específico. 

Al mismo tiempo, la exportación ofrece flexibilidad. El mismo modelo se puede adaptar a diferentes entornos de implementación convirtiéndolo a múltiples formatos en función de los requisitos específicos.

Fig. 2. Algunos de los formatos de exportación disponibles en Ultralytics (Fuente)

Por ejemplo, el formatoNCNN está optimizado para dispositivos móviles y periféricos con un bajo consumo de recursos. Por su parte, el OpenVINO está diseñado para Intel y ofrece un mejor rendimiento en unidades centrales de procesamiento (CPU), unidades de procesamiento gráfico (GPU) y unidades de procesamiento neuronal (NPU). 

En la mayoría de los casos, alcanzar este nivel de flexibilidad implicaba lidiar con conversiones manuales, dependencias y múltiples herramientas, lo que hacía que el proceso resultara largo y complejo. Ultralytics agiliza este flujo de trabajo al hacer que la exportación de modelos sea más accesible y fácil de gestionar.

Cómo Ultralytics simplifica la exportación de modelos

Por lo general, la exportación de un modelo se considera un paso independiente y complejo dentro de los flujos de trabajo de visión artificial. La Ultralytics cambia esta situación al integrar la opción de exportar un modelo directamente en un único espacio de trabajo que abarca todo el proceso, desde el entrenamiento hasta la implementación.

Una de sus principales ventajas es la posibilidad de exportar sin necesidad de programar. No es necesario escribir scripts, gestionar entornos ni utilizar comandos específicos de ningún marco de trabajo. Los modelos se pueden exportar con solo unos clics a través de una interfaz muy sencilla.

Fig. 3. Ejemplo de exportación de un modelo desde Ultralytics (Fuente)

Entre bastidores, la plataforma se encarga del trabajo pesado. Las tareas que normalmente requerirían múltiples herramientas y una configuración manual se simplifican en un único proceso. No es necesario instalar dependencias adicionales ni lidiar con problemas de compatibilidad, lo que facilita enormemente el paso de un modelo entrenado a una solución lista para producción.

Formatos de exportación de modelos compatibles con Ultralytics

Ultralytics admite 17 formatos de exportación, lo que facilita la preparación de modelos para una amplia variedad de entornos de implementación sin añadir complejidad.

A continuación se ofrece una descripción general de algunos de los formatos de exportación más habituales:

  • Multiplataforma e interoperabilidad: ONNX TorchScript utilizan ampliamente para ejecutar modelos en diferentes marcos y entornos. ONNX como puente entre ecosistemas, lo que facilita el traslado de modelos entre herramientas, mientras que TorchScript ejecutar PyTorch en producción sin necesidad de un Python .
  • Inferencia de alto rendimiento en GPU: TensorRT diseñado para NVIDIA y se centra en optimizar los modelos para lograr una baja latencia y un alto rendimiento. Admite técnicas como la reducción de precisión y la fusión de capas para acelerar la inferencia, lo que lo convierte en una opción ideal para aplicaciones en tiempo real y a escala de producción.
  • Implementación en dispositivos móviles y en el borde: CoreML, LiteRT (TensorFlow ) y NCNN optimizados para dispositivos con recursos de computación y memoria limitados. Estos formatos reducen el tamaño de los modelos y mejoran la eficiencia, lo que permite un rendimiento fluido en smartphones, sistemas integrados y hardware periférico. CoreML utiliza habitualmente en los ecosistemas de Apple, mientras que LiteRT es habitual en Android.
  • Ejecución optimizada para el hardware: OpenVINO diseñado específicamente para Intel , incluidas las CPU, las GPU y las VPU, y contribuye a mejorar la velocidad y la eficiencia de la inferencia en esos dispositivos. Los formatos específicos para el hardware como este resultan útiles cuando se necesita obtener el máximo rendimiento de un sistema concreto.
  • Entornos de ejecución específicos para cada marco y especializados: Formatos como PaddlePaddle ExecuTorch dan respuesta a ecosistemas y necesidades de implementación específicos, como la ejecución eficiente de modelos en dispositivos periféricos o la integración con pilas de aprendizaje profundo concretas.

Cómo exportar un modelo utilizando Ultralytics

La exportación de un modelo en Ultralytics es un proceso sencillo que se realiza a través de la interfaz de usuario. Todo el flujo de trabajo se gestiona desde la interfaz, sin necesidad de scripts ni herramientas de línea de comandos.

A continuación te explicamos cómo exportar un modelo utilizando la plataforma:

  • Inicia sesión y selecciona tu modelo: ve a tu proyecto y abre el modelo entrenado que quieras exportar.
  • Ve a la pestaña «Exportar»: En el panel de control del modelo, haz clic en la pestaña «Exportar» para ver las opciones de exportación disponibles.
  • Selecciona un formato de exportación: elige un formato como ONNX, TensorRT o CoreML de tus necesidades de implementación.
  • Configurar los ajustes de exportación (opcional): ajusta parámetros como el tamaño de la imagen, la precisión o el tamaño del lote para optimizar el rendimiento.
  • Inicia el proceso de exportación: haz clic en «Iniciar exportación» para comenzar el proceso. La plataforma se encarga de la conversión automáticamente.
  • Descarga el modelo exportado: una vez completada la exportación, puedes descargar el modelo y utilizarlo en tu proceso de implementación.
Fig. 4. Una guía para configurar los ajustes de exportación en Ultralytics

Elegir el formato de exportación adecuado

A medida que explores los diferentes formatos de exportación compatibles con Ultralytics , es posible que te preguntes cuál elegir. La respuesta depende realmente de dónde y cómo tengas pensado utilizar tu modelo.

A continuación, te indicamos algunos factores que debes tener en cuenta:

  • Requisitos de latencia: Para aplicaciones en tiempo real, como el análisis de vídeo o los sistemas autónomos, es fundamental contar con una latencia baja. Formatos optimizados para la inferencia de alto rendimiento, como TensorRT, suelen ser más adecuados.
  • Limitaciones de hardware: los dispositivos con memoria y potencia de procesamiento limitadas, como los teléfonos móviles o los sistemas integrados, requieren formatos ligeros como LiteRT o NCNN. 
  • Tamaño del modelo y consumo energético: cuando se trabaja con dispositivos periféricos, el tamaño del modelo y el consumo energético cobran especial importancia. Los modelos más pequeños y optimizados ayudan a garantizar un rendimiento constante sin agotar los recursos.
  • Entorno de implementación: si tu modelo debe ejecutarse en diferentes plataformas, formatos como ONNX flexibilidad. Para casos de uso específicos de una plataforma, como iOS , CoreML suele CoreML la mejor opción.

No existe un formato válido para todos los casos. En realidad, se trata de encontrar el equilibrio entre el rendimiento, la compatibilidad y las limitaciones del entorno de destino. Ultralytics facilita esta tarea al permitirte probar y comparar diferentes formatos sin ningún esfuerzo adicional.

Conclusiones clave

La exportación es un paso fundamental para preparar tu modelo para su uso en el mundo real en distintos entornos. Con Ultralytics , este proceso se simplifica considerablemente, ya que te permite convertir y optimizar modelos sin necesidad de configuraciones adicionales ni complicaciones. Al elegir el formato adecuado para tu caso de uso, te aseguras de que tu modelo funcione de manera eficiente allá donde lo implementes.

Únete a nuestra comunidad en expansión y echa un vistazo a nuestro repositorio de GitHub para obtener más información sobre la visión artificial. Explora nuestras páginas de soluciones para conocer mejor aplicaciones como la IA en robótica y la visión artificial en logística. ¡Descubre nuestras opciones de licencia y empieza a desarrollar con IA de visión! 

¡Construyamos juntos el futuro de la IA!

Comience su viaje con el futuro del aprendizaje automático