Meet YOLO26: next-gen vision AI.

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

Implementar modelos de visión artificial 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 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 modelos Ultralytics YOLO26 para obtener compatibilidad multiplataforma e implementación optimizada. En esta guía, te mostraremos cómo exportar tus modelos YOLO26 al formato TorchScript, lo que te facilitará 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 del modelo TorchScript

Desarrollado por los creadores de PyTorch, TorchScript es una herramienta potente 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 suavizar esta transición permitiendo que los modelos de PyTorch se utilicen en entornos que no admiten Python.

El proceso implica 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 garantizan que modelos como YOLO26 puedan seguir haciendo su magia 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 refinamientos en el uso de 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 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 características potentes para optimizar e implementar modelos de aprendizaje profundo.

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

Estas son 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 del cálculo 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 su implementación en diferentes entornos de tiempo 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 trabaja con 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 C++: El caso de uso más común para TorchScript es su API 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 no estar disponible. La API C++ ofrece una ejecución de bajo coste y 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 tiempo de ejecución para ejecutar estos modelos dentro de aplicaciones iOS y Android. Esto permite capacidades de inferencia fuera de línea y de baja latencia, mejorando la experiencia del usuario y la privacidad de los datos.

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

Link to this sectionExportar a TorchScript: Conversión de tu modelo YOLO26#

Exportar modelos YOLO26 a TorchScript facilita su uso en diferentes lugares y ayuda a que se ejecuten de manera más rápida y eficiente. Esto es excelente para cualquiera que busque utilizar modelos de aprendizaje profundo de manera más eficaz en aplicaciones del mundo real.

Link to this sectionInstalación#

Para instalar el paquete requerido, ejecuta:

Instalación
# Install the required package for YOLO26
pip install ultralytics

Para 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 dificultades mientras instalas los paquetes necesarios para YOLO26, consulta nuestra guía de problemas comunes para obtener soluciones y consejos.

Link to this sectionUso#

Todos los modelos Ultralytics YOLO26 están diseñados para soportar la exportación directamente, lo que facilita 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.

El formato TorchScript admite los modos Export, Predict y Validate. Exporta tu modelo, luego carga el modelo exportado para ejecutar la 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 destino para el modelo exportado, que define 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.
halfboolFalseHabilita la cuantización FP16 (precisión media), lo que reduce el tamaño del modelo y potencialmente acelera la inferencia en hardware compatible.
optimizeboolFalseAplica optimización para dispositivos móviles, lo que potencialmente reduce el tamaño del modelo y mejora el rendimiento.
nmsboolFalseAñade la supresión de no máximos (NMS), esencial para el posprocesamiento de detecciones 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 obtener más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre 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 recomendado y principal para ejecutar un modelo 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 la implementación de tus modelos 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 completas 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 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 mejorar el rendimiento y la versatilidad.

Link to this sectionResumen#

En esta guía, exploramos el proceso de exportar modelos Ultralytics YOLO26 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 deseas obtener más información sobre otras integraciones de Ultralytics YOLO26, visita nuestra página de guías de integración. Encontrarás muchos recursos e ideas útiles allí.

Link to this sectionPreguntas frecuentes#

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

Exportar un modelo Ultralytics YOLO26 a TorchScript permite una implementación 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 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 aplicabilidad más amplia 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 utilizar 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 obtener más detalles sobre el proceso de exportación, consulta la documentación de Ultralytics sobre la exportación.

Link to this section¿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 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, lo que mejora la flexibilidad y la capacidad de expansión.
  • Serialización: Los modelos pueden serializarse, 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 TorchServe y la Guía de implementación en C++. Para la implementación móvil en el dispositivo, PyTorch ahora recomienda ExecuTorch, que utiliza su propia tubería de torch.export().pte separada 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 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.

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

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

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

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

Comentarios