Meet YOLO26: next-gen vision AI.

Link to this sectionExportación del modelo YOLO26 a TorchScript para una implementación rápida#

La implementación de modelos de visión artificial en diferentes entornos, incluyendo 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 donde necesitas implementar tus capacidades de visión artificial en diversos dispositivos o plataformas.

Exporta a TorchScript para serializar tus modelos Ultralytics YOLO26 para compatibilidad multiplataforma e 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.

Link to this section¿Por qué deberías exportar a TorchScript?#

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

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

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

Comparación entre scripting y 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 memoria, asegurando una ejecución eficiente. Otra ventaja de exportar a TorchScript es su potencial para acelerar la ejecución del modelo en varias plataformas de hardware. Crea una representación independiente y 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.

Link to this sectionCaracterísticas clave de los modelos de TorchScript#

TorchScript, una parte fundamental del ecosistema de PyTorch, proporciona funciones potentes para optimizar e implementar modelos de aprendizaje profundo.

Descripción general de las características clave de TorchScript

Aquí tienes 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 de la computación 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 Python original, lo que permite la implementación en diferentes entornos de ejecución.

  • Compilación JIT: TorchScript utiliza compilación Just-In-Time (JIT) para convertir 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 proporciona un enfoque de conversión gradual, permitiéndote convertir incrementalmente 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.

Link to this sectionOpciones 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 aprendizaje automático, 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 baja sobrecarga y una ejecución eficiente de los modelos de TorchScript, maximizando el potencial de rendimiento.

  • Implementación móvil: TorchScript ofrece herramientas para convertir modelos en formatos fácilmente implementables en dispositivos móviles. PyTorch Mobile proporciona un entorno de ejecución para ejecutar estos modelos dentro de aplicaciones iOS y Android. Esto permite capacidades de inferencia offline de baja latencia, mejorando la experiencia del usuario y la privacidad de 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 APIs u otros servicios web.

Link to this sectionExportar 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 aprendizaje profundo de manera más efectiva en aplicaciones reales.

Link to this sectionInstalación#

Para instalar el paquete necesario, 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 requeridos para YOLO26, si encuentras alguna dificultad, consulta nuestra Guía de problemas comunes para obtener soluciones y consejos.

Link to this sectionUso#

Todos los modelos de Ultralytics YOLO26 están diseñados para admitir la exportación desde el primer momento, facilitando su integración en tu flujo de trabajo de despliegue preferido. Puedes ver la lista completa de formatos de exportación admitidos y las opciones de configuración para elegir la mejor configuración para tu aplicación.

El formato TorchScript admite los modos Exportar, Predecir y Validar. Exporta tu modelo, luego carga el modelo exportado para ejecutar inferencia o validar su precisión.

Exportar
from ultralytics import YOLO

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

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo26n.torchscript'
Predecir
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validar
from ultralytics import YOLO

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

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionArgumentos de exportación#

ArgumentoTipoPredeterminadoDescripción
formatstr'torchscript'Formato de destino para el modelo exportado, definiendo la compatibilidad con diversos 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 diferentes dimensiones de imagen.
quantizeint o strNonePrecisión de cuantización: 16 (FP16) requiere exportación con GPU usando device=0; 32/no definido es FP32. Reemplaza el flag obsoleto half.
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 el posprocesamiento preciso y eficiente de detecciones.
batchint1Especifica el tamaño de inferencia por lote del modelo exportado o el número máximo de imágenes que el modelo procesará simultáneamente en el modo predict.
devicestrNoneEspecifica el dispositivo para la exportación: GPU (device=0), CPU (device=cpu), MPS para Apple silicon (device=mps).

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

Link to this sectionImplementación de modelos YOLO26 TorchScript exportados#

Después de exportar con éxito tus modelos Ultralytics YOLO26 al formato TorchScript, ahora 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: La documentación de PyTorch Mobile proporciona directrices exhaustivas para implementar modelos en dispositivos móviles, asegurando que tus aplicaciones sean eficientes y respondan bien.

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

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

Link to this sectionResumen#

En esta guía, exploramos el proceso de exportar 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 diversas plataformas y entornos.

Para más detalles sobre su 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 útiles e información allí.

Link to this sectionFAQ#

Link to this section¿Qué es la exportación de modelos Ultralytics YOLO26 a TorchScript?#

Exportar un modelo Ultralytics YOLO26 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.

Link to this section¿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 a 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 exportación.

Link to this section¿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 embebidos 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, mejorando la flexibilidad y la capacidad de expansión.
  • Serialización: Los modelos pueden serializarse, permitiendo la carga e inferencia independientes de la plataforma.

Para más información sobre la implementación, visita la documentación de TorchServe y la guía de implementación en C++. Para la implementación móvil en el dispositivo, PyTorch recomienda ahora ExecuTorch, que utiliza su propia canalización separada torch.export().pte en lugar de TorchScript.

Link to this section¿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 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.

Link to this section¿Cómo implemento mis modelos YOLO26 exportados a TorchScript?#

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

  • API de C++: Ideal para entornos de producción de baja sobrecarga y alta eficiencia.
  • Implementación móvil: Ejecuta modelos de TorchScript en el dispositivo con LibTorch (el entorno de ejecución C++ de PyTorch). Para nuevos proyectos móviles, PyTorch recomienda ExecuTorch, una canalización de exportación .pte separada.
  • Implementación en la nube: Utiliza servicios como TorchServe para una implementación escalable del lado del servidor.

Explora las directrices exhaustivas para implementar modelos en estos entornos para aprovechar al máximo las capacidades de TorchScript.

Comentarios