Exportación del modelo YOLO26 a TorchScript para una implementación rápida#
PyTorch ha deprecated TorchScript y está eliminando gradualmente sus características. Para nuevas implementaciones en móviles y edge, utiliza la integración de ExecuTorch compatible. Ultralytics conserva la exportación normal a TorchScript para compatibilidad con C++ heredado.
Implementar modelos de computer vision en entornos C++ sin Python requiere una representación serializada portátil. TorchScript proporciona esa compatibilidad para aplicaciones heredadas de LibTorch.
Exporta a TorchScript para serializar tus modelos de Ultralytics YOLO26 para lograr compatibilidad multiplataforma y una implementación optimizada. En esta guía, te mostramos cómo exportar tus modelos YOLO26 al formato TorchScript, facilitando su uso en una gama más amplia de aplicaciones.
¿Por qué deberías exportar a TorchScript?#

Desarrollado por los creadores de PyTorch, TorchScript es una potente herramienta para optimizar e implementar modelos de PyTorch en una variedad de plataformas. Exportar modelos YOLO26 a TorchScript es crucial para pasar de la investigación a aplicaciones del mundo real. TorchScript, que forma parte del framework PyTorch, ayuda a que esta transición sea más fluida al permitir 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.

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, asegurando 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 y lista para producción de tu modelo de PyTorch que puede integrarse en entornos C++.
Características clave de los modelos de TorchScript#
TorchScript, una pieza clave del ecosistema PyTorch, ofrece potentes funciones para optimizar e implementar modelos de deep learning.

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.
-
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.
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:
-
C++ API: El caso de uso más común para TorchScript es su LibTorch C++ API, que te permite cargar y ejecutar modelos optimizados de TorchScript directamente dentro de aplicaciones de C++. Esto es ideal para entornos de producción donde Python puede no ser adecuado o estar disponible. La C++ API ofrece una ejecución eficiente y de bajo overhead de los modelos TorchScript, maximizando el potencial de rendimiento.
-
Mobile Deployment: Para inferencia sin conexión y de baja latencia y data privacy en dispositivos móviles, utiliza ExecuTorch, el reemplazo de PyTorch para TorchScript Mobile.
-
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.
Tareas compatibles#
La exportación a TorchScript es compatible con las siete tareas de Ultralytics. La segmentación semántica y la estimación de profundidad están disponibles únicamente con YOLO26, la única familia que incluye esas cabezas.
Exportar 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.
Instalación#
Para instalar el paquete necesario, ejecuta:
# Install the required package for YOLO26
pip install ultralyticsPara 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 ver soluciones y consejos.
Uso#
Todos los modelos de Ultralytics YOLO26 están diseñados para admitir la exportación de serie, lo que facilita 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.
El formato TorchScript es compatible con los modos Export, Predict y Validate. Exporta tu modelo y luego carga el modelo exportado para ejecutar la inferencia o validar su precisión.
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'from ultralytics import YOLO
# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")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")Argumentos de exportación#
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
format | str | 'torchscript' | Formato de destino para el modelo exportado, definiendo la compatibilidad con diversos entornos de despliegue. |
imgsz | int o tuple | 640 | Tamañ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. |
dynamic | bool | False | Permite tamaños de entrada dinámicos, mejorando la flexibilidad al manejar diferentes dimensiones de imagen. |
quantize | int o str | None | Precisión de cuantización: 16 (FP16) requiere exportación con GPU mediante device=0; 32/sin establecer es FP32. Reemplaza el indicador obsoleto half. |
nms | bool | False | Añade la supresión de no máximos (NMS), esencial para el posprocesamiento preciso y eficiente de detecciones. |
batch | int | 1 | Especifica 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 el modo predict. |
device | str | None | Especifica 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 TorchScript exportados#
Tras exportar con éxito tus modelos Ultralytics YOLO26 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"), tal 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:
-
Explore Mobile Deployment: Utiliza la canalización independiente
torch.export()→.ptede ExecuTorch para la implementación móvil actual en PyTorch. -
Master Server-Side Deployment: Aprende a implementar modelos en el servidor con TorchServe, ofreciendo un tutorial paso a paso para un servicio de modelos eficiente y escalable.
-
Implement C++ Deployment: 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 de C++ para mejorar el rendimiento y la versatilidad.
Resumen#
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 obtener más detalles sobre el uso, visita la documentación oficial de TorchScript.
Asimismo, si deseas saber más sobre otras integraciones de Ultralytics YOLO26, visita nuestra integration guide page. Allí encontrarás una gran cantidad de recursos y perspectivas útiles.
FAQ#
Exportar un modelo de Ultralytics YOLO26 a TorchScript permite un despliegue 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 útil para desplegar modelos en entornos C++.
Para exportar un modelo YOLO26 a TorchScript, puedes usar el siguiente código de ejemplo:
Usofrom 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 obtener más detalles sobre el proceso de exportación, consulta la documentación de Ultralytics sobre exportación.
Usar TorchScript para implementar modelos YOLO26 ofrece varias ventajas:
- Portability: Los modelos exportados pueden ejecutarse en aplicaciones C++ sin necesidad de Python.
- 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 obtener más información sobre la implementación, visita la TorchServe Documentation y la C++ Deployment Guide. Para la implementación móvil en el dispositivo, PyTorch ahora recomienda ExecuTorch, que utiliza su propia canalización independiente
torch.export()→.pteen lugar de TorchScript.Para instalar el paquete necesario para exportar modelos YOLO26, utiliza el siguiente comando:
Instalación# Install the required package for YOLO26 pip install ultralyticsPara obtener instrucciones detalladas, visita la Ultralytics Installation guide. Si surge algún problema durante la instalación, consulta la Common Issues guide.
Después de exportar los modelos YOLO26 al formato TorchScript, puedes implementarlos en diversas plataformas:
- C++ API: Utiliza LibTorch para entornos de producción altamente eficientes y de bajo overhead.
- Mobile Deployment: Utiliza ExecuTorch, el reemplazo compatible de PyTorch con una canalización de exportación
.pteindependiente. - Cloud Deployment: Utiliza servicios como TorchServe para una implementación escalable en el lado del servidor.
Explora las directrices exhaustivas para implementar modelos en estos entornos para aprovechar al máximo las capacidades de TorchScript.