Exportar modelos YOLO26 a TorchScript para una implementación rápida#
PyTorch ha marcado TorchScript como obsoleto y está retirando gradualmente sus funciones. Para las nuevas implementaciones móviles y en el borde, utiliza la integración compatible con ExecuTorch. Ultralytics mantiene la exportación habitual a TorchScript para garantizar la compatibilidad con código C++ heredado.
Implementar modelos de visión artificial en entornos C++ sin Python requiere una representación serializada y portable. TorchScript ofrece esa compatibilidad para aplicaciones heredadas de LibTorch.
Exporta tus modelos Ultralytics YOLO26 a TorchScript para serializarlos y lograr compatibilidad multiplataforma y una implementación más sencilla. En esta guía, te mostraremos cómo exportar tus modelos YOLO26 al formato TorchScript para que puedas utilizarlos con más facilidad en una gama más amplia de aplicaciones.
¿Por qué deberías exportar a TorchScript?#

Desarrollado por los creadores de PyTorch, TorchScript es una herramienta potente para optimizar e implementar modelos PyTorch en distintas plataformas. Exportar modelos YOLO26 a TorchScript es fundamental para pasar de la investigación a las aplicaciones del mundo real. TorchScript, que forma parte del marco de trabajo PyTorch, facilita esta transición al permitir usar modelos PyTorch en entornos que no admiten Python.
El proceso incluye dos técnicas: el trazado y la creación de scripts. El trazado registra las operaciones durante la ejecución del modelo, mientras que la creación de scripts permite definir modelos mediante un subconjunto de Python. Estas técnicas permiten que modelos como YOLO26 sigan funcionando incluso fuera de su entorno habitual de Python.

Los modelos TorchScript también se pueden optimizar mediante técnicas como la fusión de operadores y el uso más eficiente de la memoria, lo que garantiza una ejecución eficaz. Otra ventaja de exportar a TorchScript es que puede acelerar la ejecución del modelo en distintas plataformas de hardware. Crea una representación independiente, lista para producción, de tu modelo PyTorch que se puede integrar en entornos C++.
Características principales de los modelos TorchScript#
TorchScript, una parte esencial del ecosistema PyTorch, ofrece potentes funciones para optimizar e implementar modelos de aprendizaje profundo.

Estas son las características principales que hacen de TorchScript una herramienta valiosa para los desarrolladores:
-
Ejecución con grafo estático: TorchScript utiliza una representación de grafo estático para los cálculos del modelo, a diferencia de la ejecución con grafo dinámico de PyTorch. En la ejecución con grafo estático, el grafo computacional se define y compila una sola vez antes de la ejecución propiamente dicha, lo que mejora el rendimiento durante la inferencia.
-
Serialización de modelos: TorchScript permite serializar modelos PyTorch en un formato independiente de la plataforma. Los modelos serializados se pueden cargar sin necesitar el código Python original, lo que permite implementarlos en distintos entornos de ejecución.
-
Compilación JIT: TorchScript utiliza la compilación en tiempo de ejecución (JIT) para convertir modelos PyTorch en una representación intermedia optimizada. JIT compila el grafo computacional del modelo para permitir una ejecución eficiente en los dispositivos de destino.
-
Conversión gradual: TorchScript ofrece un enfoque de conversión gradual que permite convertir progresivamente partes de un modelo PyTorch a TorchScript. Esta flexibilidad resulta especialmente útil con modelos complejos o cuando quieres optimizar partes concretas del código.
Opciones de implementación en TorchScript#
Antes de ver el código para exportar modelos YOLO26 al formato TorchScript, veamos dónde se suelen utilizar los modelos TorchScript.
TorchScript ofrece varias opciones para implementar modelos de aprendizaje automático, como las siguientes:
-
API de C++: El caso de uso más habitual de TorchScript es su API de C++ de LibTorch, que permite cargar y ejecutar modelos TorchScript optimizados directamente en aplicaciones C++. Es ideal para entornos de producción en los que Python puede no ser adecuado o no estar disponible. La API de C++ permite ejecutar modelos TorchScript de forma eficiente y con poca sobrecarga, para aprovechar al máximo el rendimiento.
-
Implementación en móviles: Para obtener inferencias de baja latencia y sin conexión, así como privacidad de los datos en dispositivos móviles, utiliza ExecuTorch, el sustituto de TorchScript Mobile de PyTorch.
-
Implementación en la nube: Los modelos TorchScript se pueden implementar en servidores basados en la nube con soluciones como TorchServe. Ofrece funciones como el control de versiones de modelos, el procesamiento por lotes y la supervisión de métricas para escalar la implementación en entornos de producción. La implementación de TorchScript en la nube permite que tus modelos estén disponibles mediante API 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 solo están disponibles con YOLO26, la única familia que incluye esas cabezas.
| Tarea | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detectar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ✅ |
| Semántica | ❌ | ❌ | ✅ |
| Profundidad | ❌ | ❌ | ✅ |
| Clasificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exportar a TorchScript: convertir tu modelo YOLO26#
Exportar modelos YOLO26 a TorchScript facilita su uso en distintos entornos y ayuda a ejecutarlos de forma más rápida y eficiente. Es una opción ideal para quienes quieren aprovechar mejor los modelos de aprendizaje profundo en aplicaciones del mundo real.
Instalación#
Para instalar el paquete necesario, ejecuta:
# Install the required package for YOLO26
pip install ultralyticsPara obtener instrucciones detalladas y buenas prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalación de Ultralytics. Si tienes dificultades al instalar los paquetes necesarios para YOLO26, consulta nuestra guía sobre problemas habituales, donde encontrarás soluciones y consejos.
Uso#
Todos los modelos Ultralytics YOLO26 están diseñados para admitir la exportación desde el primer momento, lo que facilita su integración en el flujo de trabajo de implementación que prefieras. Puedes consultar la lista completa de formatos de exportación y opciones de configuración compatibles para elegir la configuración más adecuada para tu aplicación.
El formato TorchScript es compatible con los modos Exportar, Predecir y Validar. Exporta tu modelo y, a continuación, carga el modelo exportado para ejecutar inferencias o validar su precisión.
from ultralytics import YOLO
# Carga un modelo YOLO26
model = YOLO("yolo26n.pt")
# Exporta el modelo al formato TorchScript
model.export(format="torchscript") # crea 'yolo26n.torchscript'from ultralytics import YOLO
# Carga el modelo TorchScript exportado
model = YOLO("yolo26n.torchscript")
# Ejecutar inferencia
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Carga el modelo TorchScript exportado
model = YOLO("yolo26n.torchscript")
# Valida la precisión con el conjunto de datos COCO8
metrics = model.val(data="coco8.yaml")Argumentos de exportación#
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
format | str | 'torchscript' | Formato de destino del modelo exportado, que define su compatibilidad con distintos entornos de implementación. |
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, lo que aumenta la flexibilidad para trabajar con imágenes de distintas dimensiones. |
quantize | int o str | None | Precisión de cuantización: 16 (FP16) requiere exportar con GPU y device=0; 32/sin definir corresponde a FP32. Sustituye a la marca half, obsoleta. |
nms | bool, opcional | None | Selecciona la salida sin procesar (None, predeterminada), NMS integrada (True) o el cabezal sin NMS (False). |
batch | int | 1 | Especifica el tamaño del lote de inferencia del modelo exportado 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 obtener más información sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre exportación.
Implementar modelos YOLO26 TorchScript exportados#
Tras exportar correctamente tus modelos Ultralytics YOLO26 al formato TorchScript, ya puedes implementarlos. El primer paso recomendado para ejecutar un modelo TorchScript es utilizar el método YOLO("model.torchscript"), tal como se muestra en el fragmento de código de uso anterior. Si necesitas instrucciones detalladas para implementar tus modelos TorchScript en otros entornos, consulta los siguientes recursos:
-
Descubre la implementación en móviles: Utiliza la canalización independiente
torch.export()→.ptede ExecuTorch para las implementaciones móviles actuales de PyTorch. -
Domina la implementación en servidores: Aprende a implementar modelos en servidores con TorchServe mediante un tutorial paso a paso para servir modelos de forma escalable y eficiente.
-
Implementa en C++: Consulta el tutorial sobre cómo cargar un modelo TorchScript en C++, que facilita la integración de tus modelos TorchScript en aplicaciones C++ para mejorar el rendimiento y la versatilidad.
Resumen#
En esta guía, hemos explicado el proceso para exportar modelos Ultralytics YOLO26 al formato TorchScript. Si sigues las instrucciones, puedes optimizar el rendimiento de los modelos YOLO26 y obtener la flexibilidad necesaria para implementarlos en distintas plataformas y entornos.
Para obtener más información 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 la guía de integración. Allí encontrarás muchos recursos e ideas útiles.
Preguntas frecuentes#
Exportar un modelo Ultralytics YOLO26 a TorchScript permite implementarlo de forma flexible y multiplataforma. TorchScript, que forma parte del ecosistema PyTorch, facilita la serialización de modelos para ejecutarlos después en entornos sin compatibilidad con Python. Por eso resulta útil para implementar modelos en entornos C++.
Para exportar un modelo YOLO26 a TorchScript, puedes utilizar el siguiente código de ejemplo:
Usofrom ultralytics import YOLO # Carga un modelo YOLO26 model = YOLO("yolo26n.pt") # Exporta el modelo al formato TorchScript model.export(format="torchscript") # crea 'yolo26n.torchscript' # Carga el modelo TorchScript exportado torchscript_model = YOLO("yolo26n.torchscript") # Ejecutar inferencia results = torchscript_model("https://ultralytics.com/images/bus.jpg")Para obtener más información sobre el proceso de exportación, consulta la documentación de Ultralytics sobre exportación.
Usar TorchScript para implementar modelos YOLO26 ofrece varias ventajas:
- Portabilidad: Los modelos exportados se pueden ejecutar en aplicaciones C++ sin Python.
- Optimización: TorchScript es compatible con la ejecución con grafo estático y la compilación en tiempo de ejecución (JIT), que pueden optimizar el rendimiento de los modelos.
- Integración entre lenguajes: Los modelos TorchScript se pueden integrar en otros lenguajes de programación, lo que aumenta la flexibilidad y la capacidad de ampliación.
- Serialización: Los modelos se pueden serializar para cargarlos y ejecutar inferencias de forma independiente de la plataforma.
Para obtener más información sobre el despliegue, visita la documentación de TorchServe y la guía de despliegue en C++. Para el despliegue móvil en el dispositivo, PyTorch ahora recomienda ExecuTorch, que utiliza su propio proceso de exportació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 guía de instalación de Ultralytics. Si surge algún problema durante la instalación, consulta la guía de problemas habituales.
Después de exportar los modelos YOLO26 al formato TorchScript, puedes desplegarlos en distintas plataformas:
- API de C++: Utiliza LibTorch en entornos de producción que requieran una sobrecarga baja y una gran eficiencia.
- Despliegue móvil: Utiliza ExecuTorch, la alternativa compatible con PyTorch que cuenta con un proceso de exportación independiente
.pte. - Despliegue en la nube: Utiliza servicios como TorchServe para un despliegue escalable en el servidor.
Consulta las directrices completas para desplegar modelos en estos entornos y aprovechar al máximo las capacidades de TorchScript.