Skip to main content

Exportación de modelos YOLO26 a TorchScript para una implementación rápida

Desplegar computer vision modelos en diferentes entornos, incluidos sistemas embebidos, 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 completo de Python no está disponible. Esto lo hace ideal para escenarios en los que necesitas implementar tus capacidades de visión artificial en diversos dispositivos o plataformas.

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

¿Por qué deberías exportar a TorchScript?

Resumen del flujo de trabajo de serialización e implementación de modelos en TorchScript

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

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

Comparativa entre scripting y rastreo (tracing) de TorchScript

Los modelos de TorchScript también pueden optimizarse mediante técnicas como la fusión de operadores y mejoras 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 del modelo en diversas plataformas de hardware. Crea una representación independiente, lista para producción, de tu modelo de PyTorch que puede integrarse en entornos C++, sistemas embebidos 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 funciones potentes para optimizar e implementar deep learning bien entrenados.

Resumen de las características clave de TorchScript

Aquí tienes las características clave que convierten a TorchScript en una herramienta valiosa para los desarrolladores:

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

  • Serialización de modelos: TorchScript te permite serializar modelos de PyTorch en un formato independiente de la plataforma. Los modelos serializados pueden cargarse sin necesidad del código Python original, 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, lo que permite 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 proporciona un enfoque de conversión gradual, lo que te permite convertir de forma incremental partes de tu modelo de PyTorch a TorchScript. Esta flexibilidad es particularmente útil cuando se trata de modelos complejos o cuando deseas optimizar partes específicas del código.

Opciones de implementación en TorchScript

Antes de analizar 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 machine learning modelos, 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 de 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 de bajo overhead y eficiente de los modelos de TorchScript, maximizando el potencial de rendimiento.

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

  • Despliegue en la nube: Los modelos de TorchScript se pueden implementar en servidores basados en la nube utilizando soluciones como TorchServe. Proporciona características como control de 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.

Exportación a TorchScript: convirtiendo 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 eficaz 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 instrucciones detalladas y mejores prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalación de Ultralytics. Mientras instalas los paquetes necesarios para YOLO26, si encuentras alguna dificultad, consulta nuestra guía de problemas comunes para obtener soluciones y consejos.

Uso

Todos los Los modelos YOLO26 de Ultralytics están diseñados para admitir la exportación de forma nativa, facilitando su integración en tu flujo de trabajo de despliegue preferido. Puedes ver la lista completa de formatos de exportación y opciones de configuración compatibles 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, definiendo la compatibilidad con varios entornos de despliegue.
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 al manejar dimensiones de imagen variables.
halfboolFalseHabilita la cuantificación FP16 (precisión media), reduciendo el tamaño del modelo y potencialmente acelerando 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 no máxima (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 correctamente tus modelos YOLO26 de Ultralytics al formato TorchScript, ya puedes implementarlos. El primer paso, principal y recomendado, para ejecutar un modelo de TorchScript es utilizar 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: El PyTorch La documentación de Mobile proporciona pautas integrales para implementar modelos en dispositivos móviles, asegurando que tus aplicaciones sean eficientes y receptivas.

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

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

Resumen

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

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

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

Preguntas frecuentes

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

Exportar un modelo YOLO26 de Ultralytics a TorchScript permite una implementación flexible y multiplataforma. TorchScript, una 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 embebidos, 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 utilizando Ultralytics?

Para exportar un modelo YOLO26 a TorchScript, puedes utilizar 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 obtener más detalles sobre el proceso de exportación, consulta la documentación de Ultralytics sobre exportación.

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

El uso de TorchScript para implementar modelos YOLO26 ofrece varias ventajas:

  • Portabilidad: Los modelos exportados pueden ejecutarse en entornos sin necesidad de Python, como aplicaciones de C++, sistemas embebidos o dispositivos móviles.
  • Optimización: TorchScript admite la ejecución de grafos estáticos y la compilación Just-In-Time (JIT), lo que puede optimizar el rendimiento del modelo.
  • Integración entre lenguajes: Los modelos de TorchScript se pueden integrar 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, Documentación de TorchServe, y 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, utiliza 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 de TorchScript exportados?

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

  • API de C++: Ideal para entornos de producción de bajo overhead y alta eficiencia.
  • Despliegue móvil: Usa PyTorch Mobile para aplicaciones de iOS y Android.
  • Despliegue 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