Aprende a exportar modelos Ultralytics YOLO utilizando la integración TensorRT para obtener un rendimiento de IA más rápido y eficiente en las GPU NVIDIA para aplicaciones en tiempo real.
Piensa en un coche autoconducido que circula por una calle muy transitada con sólo milisegundos para detectar a un peatón que se baja del bordillo. Al mismo tiempo, podría tener que reconocer una señal de stop parcialmente oculta por un árbol o reaccionar rápidamente ante un vehículo cercano que se desvía hacia su carril. En estas situaciones, la velocidad y las respuestas en tiempo real son fundamentales.
Aquí es donde la inteligencia artificial (IA), concretamente la visión por ordenador, una rama de la IA que ayuda a las máquinas a interpretar los datos visuales, desempeña un papel clave. Para que las soluciones de visión por ordenador funcionen de forma fiable en entornos reales, a menudo tienen que procesar la información con rapidez, gestionar varias tareas a la vez y utilizar la memoria de forma eficiente.
Una forma de conseguirlo es mediante la aceleración por hardware, utilizando dispositivos especializados como las unidades de procesamiento gráfico (GPU) para ejecutar los modelos más rápidamente. Las GPUs NVIDIA son especialmente conocidas para este tipo de tareas, gracias a su capacidad para ofrecer baja latencia y alto rendimiento.
Sin embargo, ejecutar un modelo en una GPU tal cual no siempre garantiza un rendimiento óptimo. Los modelos de IA de visión suelen requerir optimización para aprovechar plenamente las capacidades de los dispositivos de hardware. Para conseguir el máximo rendimiento con un hardware específico, tenemos que compilar el modelo para que utilice el conjunto específico de instrucciones del hardware.
Por ejemplo, TensorRT es una biblioteca de optimización y formato de exportación desarrollada por NVIDIA para mejorar el rendimiento en máquinas de gama alta. Utiliza técnicas avanzadas para reducir significativamente el tiempo de inferencia manteniendo la precisión.
En este artículo, exploraremos la integraciónTensorRT soportada por Ultralytics y veremos cómo puedes exportar tu modelo YOLO11 para una implementación más rápida y eficiente en hardware NVIDIA . ¡Vamos a empezar!
TensorRT es un conjunto de herramientas desarrollado por NVIDIA para ayudar a los modelos de IA a ejecutarse con mayor rapidez y eficiencia en las GPU NVIDIA . Está diseñado para aplicaciones del mundo real en las que la velocidad y el rendimiento realmente importan, como los coches autoconducidos y el control de calidad en la industria manufacturera y farmacéutica.
TensorRT incluye herramientas como compiladores y optimizadores de modelos que pueden trabajar entre bastidores para asegurarse de que tus modelos se ejecutan con baja latencia y pueden manejar un mayor rendimiento.
La integración de TensorRT que admite Ultralytics funciona optimizando tu modelo YOLO para que se ejecute de forma más eficiente en las GPU mediante métodos como la reducción de la precisión. Esto se refiere al uso de formatos de bits más bajos, como punto flotante de 16 bits (FP16) o entero de 8 bits (INT8), para representar los datos del modelo, lo que reduce el uso de memoria y acelera el cálculo con un impacto mínimo en la precisión.
Además, las capas de redes neuronales compatibles se fusionan en modelos TensorRT optimizados para reducir el uso de memoria, lo que resulta en una inferencia más rápida y eficiente.
Antes de hablar de cómo puedes exportar YOLO11 utilizando la integración TensorRT , echemos un vistazo a algunas características clave del formato del modelo TensorRT :
Exportar modelos Ultralytics YOLO como Ultralytics YOLO11 al formato de modelos TensorRT es fácil. Veamos los pasos que hay que seguir.
Para empezar, puedes instalar el paqueteUltralytics Python utilizando un gestor de paquetes como "pip". Para ello, ejecuta el comando "pip install ultralytics" en tu símbolo del sistema o terminal.
Tras instalar correctamente el paquetePython Ultralytics , podrás entrenar, probar, ajustar, exportar y desplegar modelos para diversas tareas de visión por ordenador, como la detección de objetos, la clasificación y la segmentación de instancias. Mientras instalas el paquete, si te encuentras con alguna dificultad, puedes consultar la guía de Problemas comunes para encontrar soluciones y consejos.
Para el siguiente paso, necesitarás un dispositivo NVIDIA . Utiliza el siguiente fragmento de código para cargar y exportar YOLOv11 al formato de modelo TensorRT . Carga una variante nano preentrenada del modelo YOLO11 (yolo11n.pt) y expórtala como un archivo de motor TensorRT (yolo11n.engine), preparándolo para su implantación en dispositivos NVIDIA .
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="engine")
Después de convertir tu modelo al formato TensorRT , puedes desplegarlo para diversas aplicaciones.
El siguiente ejemplo muestra cómo cargar el modelo YOLO11 exportado (yolo11n.engine) y ejecutar una inferencia con él. La inferencia consiste en utilizar el modelo entrenado para hacer predicciones sobre nuevos datos. En este caso, utilizaremos una imagen de entrada de un perro para probar el modelo.
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)
Cuando ejecutes este código, se guardará la siguiente imagen de salida en la carpeta runs/detect/predict.
El paquetePython Ultralytics admite varias integraciones que permiten exportar modelos YOLO a distintos formatos, como TorchScript, CoreML, ONNX y TensorRT. Entonces, ¿cuándo deberías optar por utilizar la integración TensorRT ?
He aquí algunos factores que diferencian el formato del modelo TensorRT de otras opciones de integración de exportaciones:
Los modelosYOLO Ultralytics exportados al formato TensorRT pueden desplegarse en una amplia gama de escenarios del mundo real. Estos modelos optimizados son especialmente útiles cuando el rendimiento rápido y eficiente de la IA es clave. Exploremos algunos ejemplos interesantes de cómo pueden utilizarse.
Una amplia gama de tareas en las tiendas minoristas, como escanear códigos de barras, pesar productos o empaquetar artículos, siguen siendo realizadas manualmente por el personal. Sin embargo, depender únicamente de los empleados puede ralentizar las operaciones y provocar la frustración de los clientes, especialmente en la caja. Las largas colas son un inconveniente tanto para los compradores como para los propietarios de las tiendas. Las cajas automáticas inteligentes son una gran solución a este problema.
Estos contadores utilizan la visión por ordenador y las GPU para acelerar el proceso, ayudando a reducir los tiempos de espera. La visión por ordenador permite a estos sistemas ver y comprender su entorno mediante tareas como la detección de objetos. Los modelos avanzados como YOLO11, cuando se optimizan con herramientas como TensorRT, pueden ejecutarse mucho más rápido en dispositivos GPU .
Estos modelos exportados se adaptan bien a las configuraciones de los comercios inteligentes que utilizan dispositivos de hardware compactos pero potentes como el NVIDIA Jetson Nano, diseñado específicamente para aplicaciones de IA de borde.
Un modelo de visión por ordenador como YOLO11 puede entrenarse a medida para detectar productos defectuosos en la industria manufacturera. Una vez entrenado, el modelo puede exportarse al formato TensorRT para su despliegue en instalaciones equipadas con sistemas de IA de alto rendimiento.
A medida que los productos se desplazan por las cintas transportadoras, las cámaras captan imágenes, y el modelo YOLO11 , que se ejecuta en formato TensorRT , las analiza en tiempo real para detectar defectos. Esta configuración permite a las empresas detectar los problemas con rapidez y precisión, reduciendo los errores y mejorando la eficiencia.
Del mismo modo, industrias como la farmacéutica están utilizando este tipo de sistemas para identificar defectos en envases médicos. De hecho, el mercado mundial de sistemas inteligentes de detección de defectos crecerá hasta alcanzar los 5.000 millones de dólares en 2026.
Aunque la integración de TensorRT aporta muchas ventajas, como una mayor velocidad de inferencia y una latencia reducida, debes tener en cuenta algunas limitaciones:
La exportación de los modelosYOLO Ultralytics al formato TensorRT hace que se ejecuten con mucha más rapidez y eficacia, lo que los hace ideales para tareas en tiempo real como la detección de defectos en fábricas, la alimentación de sistemas de caja inteligentes o la vigilancia de zonas urbanas muy concurridas.
Esta optimización ayuda a que los modelos funcionen mejor en las GPUs NVIDIA acelerando las predicciones y reduciendo el uso de memoria y energía. Aunque existen algunas limitaciones, el aumento de rendimiento hace que la integración de TensorRT sea una gran elección para cualquiera que esté construyendo sistemas de visión computerizada de alta velocidad en hardware NVIDIA .
¿Quieres saber más sobre IA? Explora nuestro repositorio de GitHub, conéctate con nuestra comunidad y consulta nuestras opciones de licencia para poner en marcha tu proyecto de visión por ordenador. Obtén más información sobre innovaciones como la IA en la fabricación y la visión por ordenador en la industria logística en nuestras páginas de soluciones.
Comienza tu viaje con el futuro del aprendizaje automático