Exportación del modelo YOLO26 a TorchScript para una implementación rápida

Implementar modelos de visión por ordenador en diferentes entornos, incluidos sistemas integrados, navegadores web o plataformas con soporte limitado para Python, requiere una solución flexible y portátil. TorchScript se centra en la portabilidad y en la capacidad de ejecutar modelos en entornos donde el framework de Python completo no está disponible. Esto lo hace ideal para escenarios en los que necesitas implementar tus capacidades de visión por ordenador en varios dispositivos o plataformas.

Exporta a TorchScript para serializar tus modelos Ultralytics YOLO26 para obtener compatibilidad multiplataforma y una implementación simplificada. En esta guía, te mostraremos cómo exportar tus modelos YOLO26 al formato TorchScript, facilitando así su uso en una gama más amplia de aplicaciones.

¿Por qué deberías exportar a TorchScript?

Visión general del flujo de trabajo de serialización e implementación de modelos de TorchScript

Desarrollado por los creadores de PyTorch, TorchScript es una herramienta potente para optimizar e implementar modelos de PyTorch en una gran variedad de plataformas. Exportar modelos YOLO26 a TorchScript es crucial para pasar de la investigación a aplicaciones del mundo real. TorchScript, parte del framework de PyTorch, ayuda a suavizar esta transición al permitir que los modelos de PyTorch se utilicen en entornos que no admiten Python.

El proceso implica dos técnicas: tracing (trazado) y scripting. El tracing registra las operaciones durante la ejecución del modelo, mientras que el scripting permite la definición de modelos mediante un subconjunto de Python. Estas técnicas garantizan que modelos como YOLO26 puedan seguir haciendo su magia incluso fuera de su entorno habitual de Python.

Comparativa entre scripting y tracing de TorchScript

Los modelos de TorchScript también pueden optimizarse mediante técnicas como la fusión de operadores y refinamientos en el uso de la memoria, lo que garantiza una ejecución eficiente. Otra ventaja de exportar a TorchScript es su potencial para acelerar la ejecución de modelos en diversas plataformas de hardware. Crea una representación autónoma y lista para producción de tu modelo de PyTorch que puede integrarse en entornos C++, sistemas integrados o implementarse en aplicaciones web o móviles.

Características clave de los modelos de TorchScript

TorchScript, una parte clave del ecosistema de PyTorch, proporciona potentes funciones para optimizar e implementar modelos de deep learning.

Resumen de las características clave de TorchScript

Estas son las características clave que hacen de TorchScript una herramienta valiosa para los desarrolladores:

  • Ejecución de grafo estático: TorchScript utiliza una representación de grafo estático del cálculo del modelo, lo cual es diferente de la ejecución de grafo dinámico de PyTorch. En la ejecución de grafo estático, el grafo computacional se define y compila una vez antes de la ejecución real, lo que resulta en un mejor rendimiento durante la inferencia.

  • Serialización de modelos: TorchScript te permite serializar modelos de PyTorch en un formato independiente de la plataforma. Los modelos serializados se pueden cargar sin necesidad del código original de Python, lo que permite su implementación en diferentes entornos de ejecución.

  • Compilación JIT: TorchScript utiliza la compilación Just-In-Time (JIT) para convertir los modelos de PyTorch en una representación intermedia optimizada. JIT compila el grafo computacional del modelo, permitiendo una ejecución eficiente en los dispositivos de destino.

  • Integración entre lenguajes: Con TorchScript, puedes exportar modelos de PyTorch a otros lenguajes como C++, Java y JavaScript. Esto facilita la integración de modelos de PyTorch en sistemas de software existentes escritos en diferentes lenguajes.

  • Conversión gradual: TorchScript ofrece un enfoque de conversión gradual, permitiéndote convertir de forma incremental partes de tu modelo de PyTorch a TorchScript. Esta flexibilidad es particularmente útil cuando se trabaja con modelos complejos o cuando deseas optimizar partes específicas del código.

Opciones de implementación en TorchScript

Antes de ver el código para exportar modelos YOLO26 al formato TorchScript, entendamos dónde se utilizan normalmente los modelos de TorchScript.

TorchScript ofrece varias opciones de implementación para modelos de machine learning, tales como:

  • API de C++: El caso de uso más común para TorchScript es su API de C++, que te permite cargar y ejecutar modelos de TorchScript optimizados directamente dentro de aplicaciones C++. Esto es ideal para entornos de producción donde Python puede no ser adecuado o estar disponible. La API de C++ ofrece una ejecución eficiente y de baja sobrecarga de los modelos de TorchScript, maximizando el potencial de rendimiento.

  • Implementación móvil: TorchScript ofrece herramientas para convertir modelos a formatos fácilmente implementables en dispositivos móviles. PyTorch Mobile proporciona un tiempo de ejecución para ejecutar estos modelos dentro de aplicaciones iOS y Android. Esto permite capacidades de inferencia fuera de línea y de baja latencia, mejorando la experiencia del usuario y la privacidad de los datos.

  • Implementación en la nube: Los modelos de TorchScript pueden implementarse en servidores basados en la nube utilizando soluciones como TorchServe. Proporciona características como versiones de modelos, procesamiento por lotes y monitoreo de métricas para una implementación escalable en entornos de producción. La implementación en la nube con TorchScript puede hacer que tus modelos sean accesibles a través de API u otros servicios web.

Exportar a TorchScript: Convertir tu modelo YOLO26

Exportar modelos YOLO26 a TorchScript facilita su uso en diferentes lugares y ayuda a que se ejecuten de forma más rápida y eficiente. Esto es excelente para cualquiera que busque utilizar modelos de deep learning de manera más efectiva en aplicaciones del mundo real.

Instalación

Para instalar el paquete requerido, ejecuta:

Instalación
# Install the required package for YOLO26
pip install ultralytics

Para obtener instrucciones detalladas y mejores prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalación de Ultralytics. Si encuentras alguna dificultad al instalar los paquetes necesarios para YOLO26, consulta nuestra guía de problemas comunes para obtener soluciones y consejos.

Uso

Todos los modelos Ultralytics YOLO26 están diseñados para soportar la exportación de forma inmediata, facilitando su integración en tu flujo de trabajo de despliegue preferido. Puedes ver la lista completa de formatos de exportación compatibles y opciones de configuración para elegir la mejor configuración para tu aplicación.

Uso
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo26n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO("yolo26n.torchscript")

# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")

Argumentos de exportación

ArgumentoTipoPredeterminadoDescripción
formatstr'torchscript'Formato de destino para el modelo exportado, que define la compatibilidad con varios entornos de implementación.
imgszint o tuple640Tamaño de imagen deseado para la entrada del modelo. Puede ser un número entero para imágenes cuadradas o una tupla (height, width) para dimensiones específicas.
dynamicboolFalsePermite tamaños de entrada dinámicos, mejorando la flexibilidad en el manejo de dimensiones de imagen variables.
halfboolFalseActiva la cuantización FP16 (precisión media), reduciendo el tamaño del modelo y acelerando potencialmente la inferencia en hardware compatible.
optimizeboolFalseAplica optimización para dispositivos móviles, reduciendo potencialmente el tamaño del modelo y mejorando el rendimiento.
nmsboolFalseAñade la supresión de no máximos (NMS), esencial para un posprocesamiento de detección preciso y eficiente.
batchint1Especifica el tamaño de inferencia por lotes del modelo de exportación o el número máximo de imágenes que el modelo exportado procesará simultáneamente en modo predict.
devicestrNoneEspecifica el dispositivo para la exportación: GPU (device=0), CPU (device=cpu), MPS para Apple silicon (device=mps).

Para más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre exportación.

Implementación de modelos YOLO26 exportados a TorchScript

Después de exportar con éxito tus modelos Ultralytics YOLO26 al formato TorchScript, ahora puedes implementarlos. El primer paso recomendado para ejecutar un modelo de TorchScript es usar el método YOLO("model.torchscript"), como se describe en el fragmento de código de uso anterior. Para obtener instrucciones detalladas sobre cómo implementar tus modelos de TorchScript en otros entornos, echa un vistazo a los siguientes recursos:

  • Explora la implementación móvil: La documentación de PyTorch Mobile proporciona pautas integrales para implementar modelos en dispositivos móviles, asegurando que tus aplicaciones sean eficientes y receptivas.

  • Domina la implementación en el lado del servidor: Aprende a implementar modelos en el lado del servidor con TorchServe, que ofrece un tutorial paso a paso para un servicio de modelos eficiente y escalable.

  • Implementa la despliegue en C++: Sumérgete en el tutorial sobre cómo cargar un modelo de TorchScript en C++, lo que facilita la integración de tus modelos de TorchScript en aplicaciones C++ para obtener una mayor versatilidad y rendimiento.

Resumen

En esta guía, exploramos el proceso de exportación de modelos Ultralytics YOLO26 al formato TorchScript. Siguiendo las instrucciones proporcionadas, puedes optimizar los modelos YOLO26 para obtener rendimiento y ganar la flexibilidad de implementarlos en varias plataformas y entornos.

Para obtener más detalles sobre el uso, visita la documentación oficial de TorchScript.

Además, si deseas saber más sobre otras integraciones de Ultralytics YOLO26, visita nuestra página de guía de integración. Encontrarás muchos recursos e ideas útiles allí.

Preguntas frecuentes

¿Qué es la exportación del modelo Ultralytics YOLO26 a TorchScript?

Exportar un modelo Ultralytics YOLO26 a TorchScript permite una implementación flexible y multiplataforma. TorchScript, parte del ecosistema de PyTorch, facilita la serialización de modelos, que luego pueden ejecutarse en entornos que carecen de soporte para Python. Esto lo hace ideal para implementar modelos en sistemas integrados, entornos C++, aplicaciones móviles e incluso navegadores web. Exportar a TorchScript permite un rendimiento eficiente y una mayor aplicabilidad de tus modelos YOLO26 en diversas plataformas.

¿Cómo puedo exportar mi modelo YOLO26 a TorchScript usando Ultralytics?

Para exportar un modelo YOLO26 a TorchScript, puedes usar el siguiente código de ejemplo:

Uso
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo26n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO("yolo26n.torchscript")

# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")

Para más detalles sobre el proceso de exportación, consulta la documentación de Ultralytics sobre la exportación.

¿Por qué debería usar TorchScript para implementar modelos YOLO26?

Usar TorchScript para implementar modelos YOLO26 ofrece varias ventajas:

  • Portabilidad: Los modelos exportados pueden ejecutarse en entornos sin necesidad de Python, como aplicaciones C++, sistemas integrados o dispositivos móviles.
  • Optimización: TorchScript admite la ejecución de grafo estático y la compilación Just-In-Time (JIT), lo que puede optimizar el rendimiento del modelo.
  • Integración entre lenguajes: Los modelos de TorchScript pueden integrarse en otros lenguajes de programación, lo que aumenta la flexibilidad y la capacidad de expansión.
  • Serialización: Los modelos se pueden serializar, lo que permite la carga y la inferencia independientes de la plataforma.

Para obtener más información sobre la implementación, visita la documentación de PyTorch Mobile, la documentación de TorchServe y la guía de implementación en C++.

¿Cuáles son los pasos de instalación para exportar modelos YOLO26 a TorchScript?

Para instalar el paquete necesario para exportar modelos YOLO26, usa el siguiente comando:

Instalación
# Install the required package for YOLO26
pip install ultralytics

Para obtener instrucciones detalladas, visita la guía de instalación de Ultralytics. Si surge algún problema durante la instalación, consulta la guía de problemas comunes.

¿Cómo implemento mis modelos YOLO26 exportados a TorchScript?

Después de exportar los modelos YOLO26 al formato TorchScript, puedes implementarlos en una variedad de plataformas:

  • API de C++: Ideal para entornos de producción de baja sobrecarga y alta eficiencia.
  • Implementación móvil: Usa PyTorch Mobile para aplicaciones iOS y Android.
  • Implementación en la nube: Utiliza servicios como TorchServe para una implementación escalable en el lado del servidor.

Explora las pautas integrales para implementar modelos en estos entornos y aprovechar al máximo las capacidades de TorchScript.

Comentarios