Exportación de modelos YOLO26 a TorchScript para una implementación rápida#
PyTorch ha marcado TorchScript como obsoleto y está eliminando gradualmente sus funciones. Para nuevas implementaciones móviles y en dispositivos edge, usa la integración compatible con ExecuTorch. Ultralytics mantiene la exportación normal a TorchScript para la compatibilidad con C++ heredado.
Implementar modelos de visión artificial en entornos C++ sin Python requiere una representación serializada portable. TorchScript proporciona esa compatibilidad para aplicaciones heredadas de LibTorch.
Exporta tus modelos Ultralytics YOLO26 a TorchScript para serializarlos y obtener compatibilidad multiplataforma, además de una implementación simplificada. En esta guía, te mostraremos cómo exportar tus modelos YOLO26 al formato TorchScript, lo que te permitirá utilizarlos más fácilmente 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 de PyTorch en diversas plataformas. Exportar modelos YOLO26 a TorchScript es crucial para pasar de la investigación a las aplicaciones del mundo real. TorchScript, que forma parte del framework PyTorch, ayuda a facilitar esta transición al permitir utilizar modelos de PyTorch en entornos que no admiten Python.
El proceso implica dos técnicas: trazado y scripting. El trazado registra las operaciones durante la ejecución del modelo, mientras que el scripting permite definir modelos mediante un subconjunto de Python. Estas técnicas garantizan que modelos como YOLO26 puedan seguir 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 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 de modelos en distintas plataformas de hardware. Crea una representación independiente y lista para producción de tu modelo PyTorch que se puede integrar en entornos C++.
Características clave de los modelos TorchScript#
TorchScript, una parte fundamental del ecosistema PyTorch, proporciona funciones potentes para optimizar e implementar modelos de deep learning.

Estas son las características clave que convierten TorchScript en una herramienta valiosa para desarrolladores:
-
Ejecución de grafos estáticos: TorchScript utiliza una representación de grafo estático de los cálculos del modelo, que es diferente 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 mejora el rendimiento durante la inferencia.
-
Serialización de modelos: TorchScript permite serializar modelos de 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 en tiempo de ejecución (JIT): TorchScript utiliza la compilación en tiempo de ejecución (JIT) para convertir 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.
-
Conversión gradual: TorchScript proporciona un enfoque de conversión gradual que permite convertir de forma incremental partes de tu modelo PyTorch a TorchScript. Esta flexibilidad resulta especialmente útil al trabajar con modelos complejos o cuando quieres optimizar partes específicas del código.
Opciones de implementación en TorchScript#
Antes de revisar el código para exportar modelos YOLO26 al formato TorchScript, veamos dónde se suelen utilizar los modelos TorchScript.
TorchScript ofrece varias opciones de implementación para modelos de machine learning, 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++. Esto resulta ideal para entornos de producción en los que Python puede no ser adecuado o no estar disponible. La API de C++ ofrece una ejecución eficiente y con poca sobrecarga de los modelos TorchScript, maximizando su potencial de rendimiento.
-
Implementación móvil: Para obtener inferencia de baja latencia y sin conexión, además de 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 mediante soluciones como TorchServe. Esta solución ofrece funciones como el control de versiones de modelos, el procesamiento por lotes y la supervisión de métricas para una implementación escalable en entornos de producción. La implementación de TorchScript en la nube puede hacer que tus modelos sean accesibles mediante API u otros servicios web.
Tareas compatibles#
La exportación a TorchScript admite 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 |
|---|---|---|---|
| Detección | ✅ | ✅ | ✅ |
| Segmentación | ✅ | ✅ | ✅ |
| Semántica | ❌ | ❌ | ✅ |
| Profundidad | ❌ | ❌ | ✅ |
| Clasificación | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exportación a TorchScript: conversión de tu modelo YOLO26#
Exportar modelos YOLO26 a TorchScript facilita su uso en distintos entornos y ayuda a que se ejecuten de forma más rápida y eficiente. Esto resulta ideal para cualquiera que quiera utilizar modelos de deep learning de forma más eficaz en aplicaciones del mundo real.
Instalación#
Para instalar el paquete necesario, ejecuta:
# Install the required package for YOLO26
pip install ultralyticsPara consultar instrucciones detalladas y buenas prácticas relacionadas con el proceso de instalación, revisa nuestra guía de instalación de Ultralytics. Si encuentras dificultades 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 admitir la exportación de forma nativa, lo que facilita su integración en tu flujo de trabajo de despliegue preferido. 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 admite los modos Export, Predict y Validate. Exporta tu modelo y, después, carga el modelo exportado para ejecutar inferencias 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 del modelo exportado, que define 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 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 aporta mayor flexibilidad al gestionar dimensiones de imagen variables. |
quantize | int o str | None | Precisión de cuantización: 16 (FP16) requiere exportar con GPU y device=0; 32/sin definir es FP32. Sustituye a la marca obsoleta half. |
nms | bool, opcional | None | Selecciona la salida en bruto (None, predeterminada), la NMS integrada (True) o la cabeza 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) o MPS para Apple silicon (device=mps). |
Para obtener más información sobre el proceso de exportación, visita la página de la documentación de Ultralytics sobre exportación.
Implementación de modelos YOLO26 TorchScript exportados#
Después de exportar correctamente tus modelos Ultralytics YOLO26 al formato TorchScript, ya puedes implementarlos. El primer paso principal y recomendado para ejecutar un modelo TorchScript es utilizar el método YOLO("model.torchscript"), tal como se indica en el fragmento de código de uso anterior. Para consultar instrucciones detalladas sobre la implementación de tus modelos TorchScript en otros entornos, revisa los siguientes recursos:
-
Explora la implementación móvil: Utiliza la canalización independiente
torch.export()→.ptede ExecuTorch para la implementación móvil actual de PyTorch. -
Domina la implementación en el servidor: Aprende a implementar modelos en el servidor 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 explorado el proceso de exportación de modelos Ultralytics YOLO26 al formato TorchScript. Si sigues las instrucciones proporcionadas, podrás optimizar los modelos YOLO26 para mejorar su rendimiento 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 obtener más información sobre otras integraciones de Ultralytics YOLO26, visita nuestra página de la guía de integraciones. Allí encontrarás muchos recursos y conocimientos ú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, que después se pueden ejecutar en entornos sin compatibilidad con Python. Esto 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 # 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 información sobre el proceso de exportación, consulta la documentación de Ultralytics sobre exportación.
Utilizar TorchScript para implementar modelos YOLO26 ofrece varias ventajas:
- Portabilidad: Los modelos exportados se pueden ejecutar en aplicaciones C++ sin Python.
- Optimización: TorchScript admite la ejecución de grafos estáticos y la compilación en tiempo de ejecución (JIT), lo que puede optimizar el rendimiento del modelo.
- Integración entre lenguajes: Los modelos TorchScript se pueden integrar en otros lenguajes de programación, lo que mejora la flexibilidad y la capacidad de ampliación.
- Serialización: Los modelos se pueden serializar, lo que permite cargarlos y ejecutar inferencias de forma independiente de la plataforma.
Para obtener 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 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 consultar 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 implementarlos en diversas plataformas:
- API de C++: Utiliza LibTorch en entornos de producción con poca sobrecarga y gran eficiencia.
- Implementación móvil: Utiliza ExecuTorch, el sustituto compatible de PyTorch con una canalización de exportación independiente
.pte. - Implementación en la nube: Utiliza servicios como TorchServe para una implementación escalable en el servidor.
Consulta las directrices completas para implementar modelos en estos entornos y aprovechar al máximo las capacidades de TorchScript.