YOLO Vision 2026:

Exportación a TensorRT para modelos YOLO26#

Desplegar modelos de computer vision en entornos de alto rendimiento puede requerir un formato que maximice la velocidad y la eficiencia. Esto es especialmente cierto cuando despliegas tu modelo en GPU de NVIDIA.

Al utilizar el formato de exportación TensorRT, puedes optimizar tus modelos de Ultralytics YOLO26 para una inferencia rápida y eficiente en hardware de NVIDIA. Esta guía te ofrece pasos fáciles de seguir para el proceso de conversión y te ayuda a aprovechar al máximo la tecnología avanzada de NVIDIA en tus proyectos de deep learning.

TensorRT#

NVIDIA TensorRT optimization workflow

TensorRT, desarrollado por NVIDIA, es un kit de desarrollo de software (SDK) avanzado diseñado para la inferencia de deep learning de alta velocidad. Es muy adecuado para aplicaciones en tiempo real como la object detection.

Este kit de herramientas optimiza los modelos de aprendizaje profundo para GPU NVIDIA y da como resultado operaciones más rápidas y eficientes. Los modelos TensorRT se someten a la optimización de TensorRT, que incluye técnicas como la fusión de capas, calibración de precisión (INT8 y FP16), gestión dinámica de memoria de tensores y autoajuste de kernels. Convertir modelos de aprendizaje profundo al formato TensorRT permite a los desarrolladores explotar plenamente el potencial de las GPU NVIDIA.

TensorRT es conocido por su compatibilidad con varios formatos de modelos, incluidos TensorFlow, PyTorch y ONNX, lo que proporciona a los desarrolladores una solución flexible para integrar y optimizar modelos de diferentes frameworks. Esta versatilidad permite un model deployment eficiente en diversos entornos de hardware y software.

Los motores TensorRT son específicos del hardware y del entorno de ejecución.

TensorRT perfila y ajusta un motor en su GPU de compilación. Compila para la arquitectura de GPU de despliegue y haz que coincida con el tiempo de ejecución de TensorRT/CUDA; no trates un archivo .engine como un formato de modelo portátil. Para el despliegue en el extremo, Ultralytics Platform ofrece ocho selecciones de destino para Jetson, con el estado físico de compilación y validación documentado para cada una, o puedes exportar localmente en el dispositivo de destino.

Características clave de los modelos TensorRT#

Los modelos TensorRT ofrecen una gama de características clave que contribuyen a su eficiencia y eficacia en la inferencia de aprendizaje profundo de alta velocidad:

  • Calibración de precisión: TensorRT admite la calibración de precisión, permitiendo que los modelos se ajusten a requisitos de precisión específicos. Esto incluye soporte para formatos de precisión reducida como INT8 y FP16, los cuales pueden aumentar aún más la velocidad de inferencia manteniendo niveles de precisión aceptables.

  • Layer Fusion: El proceso de optimización de TensorRT incluye la fusión de capas, donde múltiples capas de una neural network se combinan en una sola operación. Esto reduce la sobrecarga computacional y mejora la velocidad de inferencia al minimizar el acceso a la memoria y el cálculo.

TensorRT neural network layer fusion optimization

  • Gestión dinámica de memoria de tensores: TensorRT gestiona de manera eficiente el uso de la memoria de tensores durante la inferencia, reduciendo la sobrecarga de memoria y optimizando su asignación. Esto resulta en una utilización más eficiente de la memoria de la GPU.

  • Autoajuste de kernels: TensorRT aplica un autoajuste de kernels para seleccionar el kernel de GPU más optimizado para cada capa del modelo. Este enfoque adaptativo asegura que el modelo aproveche al máximo la potencia computacional de la GPU.

Opciones de despliegue en TensorRT#

Antes de ver el código para exportar modelos YOLO26 al formato TensorRT, comprendamos dónde se utilizan normalmente los modelos TensorRT.

TensorRT ofrece varias opciones de despliegue, y cada una equilibra la facilidad de integración, la optimización del rendimiento y la flexibilidad de forma diferente:

  • Despliegue dentro de TensorFlow: Este método integra TensorRT en TensorFlow, lo que permite ejecutar modelos optimizados en un entorno de TensorFlow familiar. Es útil para modelos con una combinación de capas compatibles e incompatibles, ya que TF-TRT puede gestionarlas de manera eficiente.

NVIDIA TensorRT optimization workflow

  • API de Runtime de TensorRT autónoma: Ofrece un control granular, ideal para aplicaciones donde el rendimiento es crítico. Es más compleja pero permite una implementación personalizada de operadores no soportados.

  • NVIDIA Triton Inference Server: Una opción que admite modelos de varios marcos. Particularmente adecuado para inferencia en la nube o en el borde (edge), proporciona funciones como ejecución concurrente de modelos y análisis de modelos.

Tareas compatibles#

La exportación a TensorRT 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.

TareaYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Exportación de modelos YOLO26 a TensorRT#

Puedes mejorar la eficiencia de ejecución y optimizar el rendimiento convirtiendo los modelos YOLO26 al formato TensorRT.

Instalación#

Para instalar el paquete necesario, 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 YOLO26 Installation guide. Si encuentras alguna dificultad al instalar los paquetes necesarios para YOLO26, consulta nuestra Common Issues guide para ver soluciones y consejos.

Uso#

Antes de sumergirte en las instrucciones de uso, asegúrate de echar un vistazo a la gama de YOLO26 models offered by Ultralytics. Esto te ayudará a elegir el modelo más adecuado para los requisitos de tu proyecto.

El formato TensorRT admite los modos Export, Predict y Validate. La inferencia y la validación requieren una GPU de NVIDIA. Exporta tu modelo y, a continuación, cárgalo 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 TensorRT format
model.export(format="engine")  # creates 'yolo26n.engine'
Predecir
from ultralytics import YOLO

# Load the exported TensorRT model
model = YOLO("yolo26n.engine")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validar
from ultralytics import YOLO

# Load the exported TensorRT model
model = YOLO("yolo26n.engine")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Argumentos de exportación#

ArgumentoTipoPredeterminadoDescripción
formatstr'engine'Formato de destino para el modelo exportado, definiendo 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.
quantizeint o strNonePrecisión de cuantización: 16 (FP16) o 8 (INT8/PTQ; requiere calibración data/fraction); 32/sin establecer es FP32. Sustituye a los flags obsoletos half/int8.
dynamicboolFalsePermite tamaños de entrada dinámicos, mejorando la flexibilidad al manejar diferentes dimensiones de imagen.
simplifyboolTrueSimplifica el grafo del modelo con onnxslim, lo que puede mejorar el rendimiento y la compatibilidad.
opsetintNoneEspecifica la versión del opset de ONNX para el grafo ONNX intermedio. Si no se establece, utiliza la última versión admitida.
workspacefloat o NoneNoneEstablece el tamaño máximo del espacio de trabajo en GiB para las optimizaciones de TensorRT, equilibrando el uso de memoria y el rendimiento; utiliza None para la asignación automática por parte de TensorRT hasta el máximo del dispositivo.
nmsboolFalseAñade la supresión de no máximos (NMS), esencial para el posprocesamiento preciso y eficiente de detecciones.
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 el modo predict.
datastrNoneRuta al YAML del dataset, esencial para la cuantización; la clasificación por su parte toma un directorio de datasets o un nombre de dataset integrado. Si se omite con quantize=8, Ultralytics selecciona el dataset de calibración predeterminado para la tarea del modelo.
fractionfloat1.0Especifica la fracción del conjunto de datos a utilizar para la calibración de cuantización INT8. Permite calibrar en un subconjunto del conjunto de datos completo, útil para experimentos o cuando los recursos son limitados. Si no se especifica con INT8 habilitado, se utilizará el conjunto de datos completo.
devicestrNoneEspecifica el dispositivo para la exportación: GPU (device=0), DLA para NVIDIA Jetson (device=dla:0 o device=dla:1).
Consejo

Por favor, asegúrate de utilizar una GPU con soporte CUDA al exportar a TensorRT.

TensorRT 11.0 y DLA

TensorRT 11.0 no admite DLA; usa TensorRT 10.x para device=dla:0 o device=dla:1, o exporta un motor de GPU para TensorRT 11.0.

Para más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre exportación.

Exportación de TensorRT con cuantización INT8#

Exportar modelos de Ultralytics YOLO utilizando TensorRT con precisión INT8 ejecuta la cuantización posterior al entrenamiento (PTQ). TensorRT utiliza la calibración para la PTQ, que mide la distribución de activaciones dentro de cada tensor de activación a medida que el modelo YOLO procesa la inferencia en datos de entrada representativos, y luego utiliza esa distribución para estimar los valores de escala para cada tensor. Cada tensor de activación que es candidato para la cuantización tiene una escala asociada que se deduce mediante un proceso de calibración.

Cuantización de TensorRT 11

TensorRT 11 eliminó la cuantización implícita y la interfaz IInt8Calibrator. En TensorRT 11 y versiones posteriores, Ultralytics realiza la cuantización INT8 con la cuantización explícita de NVIDIA ModelOpt, que inserta nodos Q/DQ en el grafo ONNX antes de compilar un motor de tipos estrictos, y FP16 se aplica con la conversión de precisión mixta ModelOpt AutoCast. Los argumentos quantize=8, quantize=16 y data funcionan de la misma manera; ModelOpt se instala automáticamente en el primer uso. En TensorRT 7-10 se utiliza en su lugar el calibrador heredado descrito a continuación.

Al procesar redes cuantizadas implícitamente, TensorRT utiliza INT8 de forma oportunista para optimizar el tiempo de ejecución de las capas. Si una capa se ejecuta más rápido en INT8 y tiene asignadas escalas de cuantización en sus entradas y salidas de datos, entonces se asigna a esa capa un kernel con precisión INT8; de lo contrario, TensorRT selecciona una precisión de FP32 o FP16 para el kernel según lo que resulte en un tiempo de ejecución más rápido para esa capa.

Consejo

Es crítico asegurar que el mismo dispositivo que usará los pesos del modelo TensorRT para el despliegue sea el utilizado para exportar con precisión INT8, ya que los resultados de calibración pueden variar entre dispositivos.

Configuración de la exportación INT8#

Los argumentos proporcionados al usar export para un modelo de Ultralytics YOLO influirán en gran medida en el rendimiento del modelo exportado. También deberán seleccionarse en función de los recursos del dispositivo disponibles, aunque los argumentos predeterminados deberían funcionar para la mayoría de las GPU discretas de NVIDIA Ampere (o más recientes). El algoritmo de calibración utilizado es "MINMAX_CALIBRATION" para las exportaciones de GPU, mientras que las exportaciones de DLA en NVIDIA Jetson usan "ENTROPY_CALIBRATION_2". Puedes leer más detalles sobre las opciones disponibles en la Guía del desarrollador de TensorRT. Las pruebas de Ultralytics descubrieron que "MINMAX_CALIBRATION" es la mejor opción para las exportaciones de GPU, y el algoritmo se selecciona automáticamente según el dispositivo de exportación.

  • workspace : Controla el tamaño (en GiB) de la asignación de memoria del dispositivo al convertir los pesos del modelo.

    • Ajusta el valor de workspace según tus necesidades de calibración y la disponibilidad de recursos. Si bien un workspace más grande puede aumentar el tiempo de calibración, permite que TensorRT explore una gama más amplia de tácticas de optimización, lo que potencialmente mejora el rendimiento y la precisión del modelo. Por el contrario, un workspace más pequeño puede reducir el tiempo de calibración, pero puede limitar las estrategias de optimización, afectando a la calidad del modelo cuantizado.

    • El valor predeterminado es workspace=None, lo que permitirá que TensorRT asigne memoria automáticamente; al configurar manualmente, es posible que sea necesario aumentar este valor si la calibración falla (sale sin previo aviso).

    • TensorRT informará UNSUPPORTED_STATE durante la exportación si el valor de workspace es mayor que la memoria disponible en el dispositivo, lo que significa que el valor de workspace debe reducirse o establecerse en None.

    • Si workspace se establece en el valor máximo y la calibración falla o se interrumpe, considera usar None para la asignación automática o reduce los valores de imgsz y batch para disminuir los requisitos de memoria.

    • Recuerda: la calibración para INT8 es específica para cada dispositivo; tomar prestada una GPU de "alta gama" para la calibración podría resultar en un bajo rendimiento cuando la inferencia se ejecute en otro dispositivo.

  • batch : El tamaño de lote máximo que se utilizará para la inferencia. Durante la inferencia se pueden utilizar lotes más pequeños, pero la inferencia no aceptará lotes mayores que el especificado.

Nota

El uso de lotes pequeños puede provocar un escalado impreciso durante la calibración INT8. Esto se debe a que el proceso se ajusta en función de los datos que observa. Es posible que los lotes pequeños no capturen todo el rango de valores, lo que genera problemas con la calibración final. El uso de un tamaño de lote mayor ayuda a garantizar resultados de calibración más representativos.

La experimentación realizada por NVIDIA les llevó a recomendar el uso de al menos 500 imágenes de calibración que sean representativas de los datos de tu modelo, con la calibración de cuantización INT8. Esto es una directriz y no un requisito estricto, y tendrás que experimentar con lo que se requiere para obtener un buen rendimiento en tu dataset. Dado que los datos de calibración son necesarios para la calibración INT8 con TensorRT, asegúrate de utilizar el argumento data cuando quantize=8 sea para TensorRT y utiliza data="my_dataset.yaml", que utilizará las imágenes de validación para calibrar. Cuando no se pasa ningún valor para data al exportar a TensorRT con cuantización INT8, el valor predeterminado será utilizar uno de los datasets de ejemplo "pequeños" basados en la tarea del modelo en lugar de lanzar un error.

Ejemplo
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(
    format="engine",
    dynamic=True,  # (1)!
    batch=8,  # (2)!
    workspace=4,  # (3)!
    quantize=8,
    data="coco.yaml",  # (4)!
)

# Load the exported TensorRT INT8 model
model = YOLO("yolo26n.engine", task="detect")

# Run inference
result = model.predict("https://ultralytics.com/images/bus.jpg")
  1. Exporta con ejes dinámicos; esto se habilitará de forma predeterminada al exportar con quantize=8 incluso cuando no se establezca explícitamente. Consulta los argumentos de exportación para obtener información adicional.
  2. Establece un tamaño de lote máximo de 8 para el modelo exportado y la calibración INT8.
  3. Asigna 4 GiB de memoria en lugar de asignar todo el dispositivo para el proceso de conversión.
  4. Utiliza el dataset COCO para la calibración, específicamente las imágenes utilizadas para la validación (5000 en total).
Caché de calibración

TensorRT generará un .cache de calibración que se puede reutilizar para acelerar la exportación de futuros pesos de modelos utilizando los mismos datos, pero esto puede dar lugar a una calibración deficiente cuando los datos sean muy diferentes o si el valor de batch se cambia drásticamente. En estas circunstancias, el .cache existente debe renombrarse y trasladarse a un directorio diferente o eliminarse por completo.

Ventajas de usar YOLO con TensorRT INT8#

  • Tamaño del modelo reducido: La cuantización de FP32 a INT8 puede reducir el tamaño del modelo hasta 4 veces (en disco o en memoria), lo que lleva a tiempos de descarga más rápidos, menores requisitos de almacenamiento y una huella de memoria reducida al desplegar un modelo.

  • Menor consumo de energía: Las operaciones de precisión reducida para modelos YOLO exportados en INT8 pueden consumir menos energía en comparación con los modelos FP32, especialmente para dispositivos alimentados por batería.

  • Velocidades de inferencia mejoradas: TensorRT optimiza el modelo para el hardware objetivo, lo que potencialmente conduce a velocidades de inferencia más rápidas en GPU, dispositivos embebidos y aceleradores.

Nota sobre las velocidades de inferencia

Cabe esperar que las primeras llamadas de inferencia con un modelo exportado a TensorRT INT8 tengan tiempos de preprocesamiento, inferencia y/o postprocesamiento más largos de lo habitual. Esto también puede ocurrir al cambiar imgsz durante la inferencia, especialmente cuando imgsz no es el mismo que el especificado durante la exportación (el imgsz de exportación se establece como el perfil "óptimo" de TensorRT).

Inconvenientes de usar YOLO con TensorRT INT8#

  • Disminución de las métricas de evaluación: Utilizar una precisión menor significará que mAP, Precision, Recall o cualquier otra métrica utilizada para evaluar el rendimiento del modelo probablemente empeore en cierta medida. Las capas sigmoideas se mantienen a mayor precisión para preservar la calibración de las puntuaciones, pero INT8 aún puede desplazar los valores de confianza, así que selecciona el umbral operativo a partir de la propia curva F1 del modelo INT8. Consulta la sección de Resultados de rendimiento para comparar las diferencias en mAP50 y mAP50-95 al exportar con INT8 en una pequeña muestra de varios dispositivos.

  • Aumento de los tiempos de desarrollo: Encontrar la configuración "óptima" para la calibración INT8 según el conjunto de datos y el dispositivo puede requerir una cantidad significativa de pruebas.

  • Dependencia del hardware: La calibración y las ganancias de rendimiento podrían ser altamente dependientes del hardware y los pesos del modelo son menos transferibles.

Rendimiento de la exportación a TensorRT de Ultralytics YOLO#

NVIDIA A100#

Rendimiento

Probado con Ubuntu 22.04.3 LTS, python 3.10.12, ultralytics==8.2.4, tensorrt==8.6.1.post1

Consulta la Detection Docs para ver ejemplos de uso con estos modelos entrenados en COCO, que incluyen 80 clases preentrenadas.

Nota

Tiempos de inferencia mostrados para mean, min (más rápido) y max (más lento) para cada prueba utilizando pesos preentrenados yolov8n.engine

PrecisiónPrueba de evaluaciónmedia
(ms)
mín | máx
(ms)
mAPval
50(B)
mAPval
50-95(B)
batchtamaño
(píxeles)
FP32Predecir0.520.51 | 0.568640
FP32COCOval0.520.520.371640
FP16Predecir0.340.34 | 0.418640
FP16COCOval0.330.520.371640
INT8Predecir0.280.27 | 0.318640
INT8COCOval0.290.470.331640

GPUs de consumo#

Rendimiento de detección (COCO)

Probado con Windows 10.0.19045, python 3.10.9, ultralytics==8.2.4, tensorrt==10.0.0b6

Nota

Tiempos de inferencia mostrados para mean, min (más rápido) y max (más lento) para cada prueba utilizando pesos preentrenados yolov8n.engine

PrecisiónPrueba de evaluaciónmedia
(ms)
mín | máx
(ms)
mAPval
50(B)
mAPval
50-95(B)
batchtamaño
(píxeles)
FP32Predecir1.060.75 | 1.888640
FP32COCOval1.370.520.371640
FP16Predecir0.620.75 | 1.138640
FP16COCOval0.850.520.371640
INT8Predecir0.520.38 | 1.008640
INT8COCOval0.740.470.331640

Dispositivos integrados#

Rendimiento de detección (COCO)

Probado con JetPack 6.0 (L4T 36.3) Ubuntu 22.04.4 LTS, python 3.10.12, ultralytics==8.2.16, tensorrt==10.0.1

Nota

Tiempos de inferencia mostrados para mean, min (más rápido) y max (más lento) para cada prueba utilizando pesos preentrenados yolov8n.engine

PrecisiónPrueba de evaluaciónmedia
(ms)
mín | máx
(ms)
mAPval
50(B)
mAPval
50-95(B)
batchtamaño
(píxeles)
FP32Predecir6.116.10 | 6.298640
FP32COCOval6.170.520.371640
FP16Predecir3.183.18 | 3.208640
FP16COCOval3.190.520.371640
INT8Predecir2.302.29 | 2.358640
INT8COCOval2.320.460.321640
Información

Consulta nuestra guía de inicio rápido sobre NVIDIA Jetson con Ultralytics YOLO para obtener más información sobre la configuración.

Información

Consulta nuestra guía de inicio rápido sobre NVIDIA DGX Spark con Ultralytics YOLO para obtener más información sobre la configuración.

Métodos de evaluación#

Despliega las secciones a continuación para obtener información sobre cómo se exportaron y probaron estos modelos.

Configuraciones de exportación

Consulta el modo de exportación para obtener detalles sobre los argumentos de configuración de exportación.

from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# TensorRT FP32
out = model.export(format="engine", imgsz=640, dynamic=True, verbose=False, batch=8, workspace=2)

# TensorRT FP16
out = model.export(format="engine", imgsz=640, dynamic=True, verbose=False, batch=8, workspace=2, quantize=16)

# TensorRT INT8 with calibration `data` (i.e. COCO, ImageNet, or DOTAv1 for appropriate model task)
out = model.export(
    format="engine", imgsz=640, dynamic=True, verbose=False, batch=8, workspace=2, quantize=8, data="coco8.yaml"
)
Bucle de predicción

Consulta el modo de predicción para obtener información adicional.

import cv2

from ultralytics import YOLO

model = YOLO("yolo26n.engine")
img = cv2.imread("path/to/image.jpg")

for _ in range(100):
    result = model.predict(
        [img] * 8,  # batch=8 of the same image
        verbose=False,
        device="cuda",
    )
Configuración de validación

Consulta el modo val para obtener más información sobre los argumentos de configuración de validación.

from ultralytics import YOLO

model = YOLO("yolo26n.engine")
results = model.val(
    data="data.yaml",  # COCO, ImageNet, or DOTAv1 for appropriate model task
    batch=1,
    imgsz=640,
    verbose=False,
    device="cuda",
)

Implementación de modelos YOLO26 exportados a TensorRT#

Tras haber exportado con éxito tus modelos YOLO26 de Ultralytics al formato TensorRT, ya estás listo para implementarlos. Para obtener instrucciones detalladas sobre cómo implementar tus modelos TensorRT en varios entornos, echa un vistazo a los siguientes recursos:

Resumen#

En esta guía, nos hemos centrado en la conversión de modelos YOLO26 de Ultralytics al formato de modelo TensorRT de NVIDIA. Este paso de conversión es crucial para mejorar la eficiencia y la velocidad de los modelos YOLO26, haciéndolos más eficaces y adecuados para diversos entornos de implementación.

Para obtener más información sobre los detalles de uso, echa un vistazo a la documentación oficial de TensorRT.

Si tienes curiosidad por conocer más integraciones de Ultralytics YOLO26, nuestra página de la guía de integración ofrece una amplia selección de recursos informativos y perspectivas.

FAQ#

  • Para convertir tus modelos YOLO26 de Ultralytics al formato TensorRT para una inferencia optimizada en GPU de NVIDIA, sigue estos pasos:

    1. Instala el paquete necesario:

      pip install ultralytics
    2. Exporta tu modelo YOLO26:

      from ultralytics import YOLO
      
      model = YOLO("yolo26n.pt")
      model.export(format="engine")  # creates 'yolo26n.engine'
      
      # Run inference
      model = YOLO("yolo26n.engine")
      results = model("https://ultralytics.com/images/bus.jpg")

    Para obtener más detalles, visita la guía de instalación de YOLO26 y la documentación de exportación.

  • Usar TensorRT para optimizar los modelos YOLO26 ofrece varias ventajas:

    • Velocidad de inferencia más rápida: TensorRT optimiza las capas del modelo y utiliza calibración de precisión (INT8 y FP16) para acelerar la inferencia sin sacrificar significativamente la precisión.
    • Eficiencia de memoria: TensorRT gestiona la memoria de tensores de forma dinámica, reduciendo la sobrecarga y mejorando el uso de la memoria de la GPU.
    • Fusión de capas: Combina múltiples capas en operaciones individuales, reduciendo la complejidad computacional.
    • Ajuste automático de kernels: Selecciona automáticamente los kernels de GPU optimizados para cada capa del modelo, garantizando el máximo rendimiento.

    Para obtener más información, explora la documentación oficial de TensorRT de NVIDIA y nuestra descripción general detallada de TensorRT.

  • Sí, puedes exportar modelos YOLO26 usando TensorRT con cuantización INT8. Este proceso implica cuantización post-entrenamiento (PTQ) y calibración:

    1. Exportar con INT8:

      from ultralytics import YOLO
      
      model = YOLO("yolo26n.pt")
      model.export(format="engine", batch=8, workspace=4, quantize=8, data="coco.yaml")
    2. Ejecutar inferencia:

      from ultralytics import YOLO
      
      model = YOLO("yolo26n.engine", task="detect")
      result = model.predict("https://ultralytics.com/images/bus.jpg")

    Para obtener más detalles, consulta la sección de exportación de TensorRT con cuantización INT8.

  • El despliegue de modelos YOLO26 de TensorRT en un NVIDIA Triton Inference Server se puede realizar utilizando los siguientes recursos:

    Estas guías te ayudarán a integrar los modelos YOLO26 de manera eficiente en varios entornos de despliegue.

  • Las mejoras de rendimiento con TensorRT pueden variar según el hardware utilizado. Estos son algunos benchmarks típicos:

    • NVIDIA A100:

      • Inferencia FP32: ~0.52 ms / imagen
      • Inferencia FP16: ~0.34 ms / imagen
      • Inferencia INT8: ~0.28 ms / imagen
      • Ligera reducción en el mAP con precisión INT8, pero una mejora significativa en la velocidad.
    • GPUs de consumo (ej. RTX 3080):

      • Inferencia FP32: ~1.06 ms / imagen
      • Inferencia FP16: ~0.62 ms / imagen
      • Inferencia INT8: ~0.52 ms / imagen

    Se pueden encontrar pruebas comparativas de rendimiento detalladas para diferentes configuraciones de hardware en la sección de rendimiento.

    Para obtener información más exhaustiva sobre el rendimiento de TensorRT, consulta la documentación de Ultralytics y nuestros informes de análisis de rendimiento.

Comentarios