YOLO Vision 2026:

Exportação TensorRT para Modelos YOLO26#

A implantação de modelos de computer vision em ambientes de alto desempenho pode exigir um formato que maximize a velocidade e a eficiência. Isso é especialmente verdade quando estás a implantar o teu modelo em GPUs NVIDIA.

Ao usares o formato de exportação TensorRT, podes otimizar os teus modelos Ultralytics YOLO26 para uma inferência rápida e eficiente em hardware NVIDIA. Este guia fornece passos fáceis de seguir para o processo de conversão e ajuda-te a tirar o máximo partido da tecnologia avançada da NVIDIA nos teus projetos de deep learning.

TensorRT#

NVIDIA TensorRT optimization workflow

TensorRT, desenvolvido pela NVIDIA, é um kit de desenvolvimento de software (SDK) avançado concebido para inferência de deep learning de alta velocidade. É ideal para aplicações em tempo real, como object detection.

Este kit de ferramentas otimiza modelos de deep learning para GPUs NVIDIA e resulta em operações mais rápidas e eficientes. Os modelos TensorRT passam por otimização TensorRT, que inclui técnicas como fusão de camadas, calibração de precisão (INT8 e FP16), gerenciamento dinâmico de memória de tensores e ajuste automático de kernel. Converter modelos de deep learning para o formato TensorRT permite que os desenvolvedores realizem plenamente o potencial das GPUs NVIDIA.

O TensorRT é conhecido pela sua compatibilidade com vários formatos de modelos, incluindo TensorFlow, PyTorch e ONNX, oferecendo aos programadores uma solução flexível para integrar e otimizar modelos de diferentes frameworks. Esta versatilidade permite uma model deployment eficiente em diversos ambientes de hardware e software.

Os mecanismos TensorRT são específicos para o hardware e o tempo de execução.

O TensorRT perfila e ajusta um motor na sua GPU de compilação. Compila para a arquitetura da GPU de implantação e corresponde ao tempo de execução TensorRT/CUDA; não trates um ficheiro .engine como um formato de modelo portável. Para implantação na edge, a Ultralytics Platform oferece oito seleções de destino Jetson, com o estado físico de compilação e validação documentado para cada uma, ou podes exportar localmente no dispositivo de destino.

Principais Recursos dos Modelos TensorRT#

Os modelos TensorRT oferecem uma gama de recursos importantes que contribuem para sua eficiência e eficácia na inferência de deep learning de alta velocidade:

  • Calibração de Precisão: O TensorRT oferece suporte à calibração de precisão, permitindo que os modelos sejam ajustados para requisitos de precisão específicos. Isso inclui suporte para formatos de precisão reduzida como INT8 e FP16, o que pode aumentar ainda mais a velocidade de inferência enquanto mantém níveis de precisão aceitáveis.

  • Layer Fusion: O processo de otimização do TensorRT inclui a fusão de camadas, onde múltiplas camadas de uma neural network são combinadas numa única operação. Isto reduz a sobrecarga computacional e melhora a velocidade de inferência ao minimizar o acesso à memória e a computação.

TensorRT neural network layer fusion optimization

  • Gerenciamento Dinâmico de Memória de Tensores: O TensorRT gerencia de forma eficiente o uso de memória de tensores durante a inferência, reduzindo a sobrecarga de memória e otimizando a alocação. Isso resulta em uma utilização mais eficiente da memória da GPU.

  • Ajuste Automático de Kernel: O TensorRT aplica ajuste automático de kernel para selecionar o kernel de GPU mais otimizado para cada camada do modelo. Essa abordagem adaptativa garante que o modelo aproveite ao máximo o poder computacional da GPU.

Opções de Implantação no TensorRT#

Antes de analisarmos o código para exportar modelos YOLO26 para o formato TensorRT, vamos entender onde os modelos TensorRT são normalmente usados.

O TensorRT oferece várias opções de implantação, e cada uma equilibra facilidade de integração, otimização de desempenho e flexibilidade de maneiras diferentes:

  • Implantação no TensorFlow: Este método integra o TensorRT no TensorFlow, permitindo que modelos otimizados sejam executados num ambiente TensorFlow familiar. É útil para modelos com uma mistura de camadas suportadas e não suportadas, uma vez que o TF-TRT consegue geri-las de forma eficiente.

NVIDIA TensorRT optimization workflow

  • API de Runtime do TensorRT Independente: Oferece controle granular, ideal para aplicações onde o desempenho é crítico. É mais complexo, mas permite a implementação personalizada de operadores não suportados.

  • NVIDIA Triton Inference Server: Uma opção que suporta modelos de vários frameworks. Particularmente adequado para inferência em nuvem ou edge, fornece recursos como execução de modelo concorrente e análise de modelo.

Tarefas Suportadas#

A exportação para TensorRT suporta todas as sete tarefas do Ultralytics. Segmentação semântica e estimativa de profundidade estão disponíveis apenas com o YOLO26, a única família que possui essas camadas.

TarefaYOLOv8YOLO11YOLO26
Detectar
Segmentar
Semântica
Profundidade
Classificar
Pose
OBB

Exportando Modelos YOLO26 para TensorRT#

Você pode melhorar a eficiência da execução e otimizar o desempenho convertendo modelos YOLO26 para o formato TensorRT.

Instalação#

Para instalar o pacote necessário, execute:

Instalação
# Install the required package for YOLO26
pip install ultralytics

Para instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulta o nosso YOLO26 Installation guide. Ao instalar os pacotes necessários para o YOLO26, se encontrares alguma dificuldade, consulta o nosso Common Issues guide para obter soluções e dicas.

Uso#

Antes de mergulhares nas instruções de uso, certifica-te de explorar a gama de YOLO26 models offered by Ultralytics. Isto ajudar-te-á a escolher o modelo mais adequado para os requisitos do teu projeto.

O formato TensorRT suporta os modos Export, Predict e Validate. A inferência e a validação requerem uma GPU NVIDIA. Exporta o teu modelo e, em seguida, carrega o modelo exportado para executar a inferência ou validar a sua precisão.

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'
Prever
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 Exportação#

ArgumentoTipoPredefiniçãoDescrição
formatstr'engine'Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implementação.
imgszint ou tuple640Tamanho de imagem desejado para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas.
quantizeint ou strNonePrecisão de quantização: 16 (FP16) ou 8 (INT8/PTQ; necessita de calibração data/fraction); 32/não definido é FP32. Substitui as flags obsoletas half/int8.
dynamicboolFalsePermite tamanhos de entrada dinâmicos, aumentando a flexibilidade no manuseio de dimensões variáveis de imagem.
simplifyboolTrueSimplifica o grafo do modelo com onnxslim, melhorando potencialmente o desempenho e a compatibilidade.
opsetintNoneEspecifica a versão do opset ONNX para o grafo ONNX intermediário. Se não for definida, utiliza a versão mais recente suportada.
workspacefloat ou NoneNoneDefine o tamanho máximo do espaço de trabalho em GiB para as otimizações do TensorRT, equilibrando o uso de memória e o desempenho; usa None para alocação automática pelo TensorRT até ao máximo do dispositivo.
nmsboolFalseAdiciona a Supressão Não-Máxima (NMS), essencial para um pós-processamento de detecção preciso e eficiente.
batchint1Especifica o tamanho de inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado processará concorrentemente no modo predict.
datastrNoneCaminho para o YAML do dataset, essencial para a quantização; a classificação, por sua vez, requer um diretório de dataset ou um nome de dataset incorporado. Se omitido com quantize=8, o Ultralytics seleciona o dataset de calibração padrão para a tarefa do modelo.
fractionfloat, int ou list1.0Subconjunto de calibração como uma proporção, contagem de imagens ou proporções/contagens de [train, val, test]. Listas de dois itens deixam test cheio, enquanto 0 o pula.
devicestrNoneEspecifica o dispositivo para exportação: GPU (device=0), DLA para NVIDIA Jetson (device=dla:0 ou device=dla:1).
Dica

Certifique-se de usar uma GPU com suporte a CUDA ao exportar para TensorRT.

TensorRT 11.0 e DLA

O TensorRT 11.0 não suporta DLA; usa o TensorRT 10.x para device=dla:0 ou device=dla:1, ou exporta um motor GPU do TensorRT 11.0.

Para mais detalhes sobre o processo de exportação, visita a página de documentação do Ultralytics sobre exportação.

Exportando TensorRT com Quantização INT8#

A exportação de modelos Ultralytics YOLO utilizando TensorRT com precision INT8 executa a quantização pós-treino (PTQ). O TensorRT utiliza calibração para PTQ, que mede a distribuição de ativações dentro de cada tensor de ativação à medida que o modelo YOLO processa a inferência em dados de entrada representativos, e depois usa essa distribuição para estimar os valores de escala para cada tensor. Cada tensor de ativação que é candidato a quantização tem uma escala associada que é deduzida por um processo de calibração.

Quantização TensorRT 11

O TensorRT 11 removeu a quantização implícita e a interface IInt8Calibrator. No TensorRT 11 e mais recente, a Ultralytics realiza a quantização INT8 com a quantização explícita NVIDIA ModelOpt, que insere nós Q/DQ no grafo ONNX antes de construir um motor fortemente tipado, e o FP16 é aplicado com a conversão de precisão mista ModelOpt AutoCast. Os argumentos quantize=8, quantize=16 e data funcionam da mesma forma; o ModelOpt é instalado automaticamente na primeira utilização. No TensorRT 7-10, utiliza-se em alternativa o calibrador legado descrito abaixo.

Ao processar redes quantizadas implicitamente, o TensorRT usa INT8 de forma oportunista para otimizar o tempo de execução da camada. Se uma camada é executada mais rápido em INT8 e possui escalas de quantização atribuídas em suas entradas e saídas de dados, então um kernel com precisão INT8 é atribuído a essa camada; caso contrário, o TensorRT seleciona uma precisão FP32 ou FP16 para o kernel, com base no que resultar em um tempo de execução mais rápido para aquela camada.

Dica

É crítico garantir que o mesmo dispositivo que usará os pesos do modelo TensorRT para implantação seja usado para a exportação com precisão INT8, já que os resultados da calibração podem variar entre dispositivos.

Configurando a Exportação INT8#

Os argumentos fornecidos ao usar export para um modelo Ultralytics YOLO vão influenciar grandemente o desempenho do modelo exportado. Também precisarão de ser selecionados com base nos recursos do dispositivo disponíveis; no entanto, os argumentos predefinidos devem funcionar para a maioria das Ampere (ou mais recentes) GPUs dedicadas da NVIDIA. O algoritmo de calibração utilizado é "MINMAX_CALIBRATION" para exportações em GPU, enquanto as exportações em DLA na NVIDIA Jetson usam "ENTROPY_CALIBRATION_2". Podes ler mais detalhes sobre as opções disponíveis no Guia de Desenvolvimento do TensorRT. Os testes da Ultralytics descobriram que "MINMAX_CALIBRATION" é a melhor escolha para exportações em GPU, e o algoritmo é selecionado automaticamente com base no dispositivo de exportação.

  • workspace : Controla o tamanho (em GiB) da alocação de memória do dispositivo durante a conversão dos pesos do modelo.

    • Ajusta o valor de workspace de acordo com as tuas necessidades de calibração e a disponibilidade de recursos. Embora um workspace maior possa aumentar o tempo de calibração, permite que o TensorRT explore uma gama mais ampla de táticas de otimização, melhorando potencialmente o desempenho e a accuracy do modelo. Inversamente, um workspace menor pode reduzir o tempo de calibração, mas pode limitar as estratégias de otimização, afetando a qualidade do modelo quantizado.

    • O valor predefinido é workspace=None, que permitirá ao TensorRT alocar memória automaticamente; ao configurar manualmente, este valor poderá ter de ser aumentado se a calibração falhar (terminar sem aviso).

    • O TensorRT reportará UNSUPPORTED_STATE durante a exportação se o valor para workspace for maior do que a memória disponível para o dispositivo, o que significa que o valor para workspace deve ser reduzido ou definido como None.

    • Se workspace estiver definido para o valor máximo e a calibração falhar/terminar inesperadamente, considera usar None para alocação automática ou reduzir os valores para imgsz e batch para diminuir os requisitos de memória.

    • Lembre-se: a calibração para INT8 é específica para cada dispositivo; pegar emprestada uma GPU "high-end" para calibração pode resultar em baixo desempenho quando a inferência for executada em outro dispositivo.

  • batch : O tamanho máximo do lote (batch-size) que será usado para inferência. Durante a inferência, podem ser usados lotes menores, mas a inferência não aceitará lotes maiores do que o especificado.

Nota

O uso de lotes pequenos pode levar a um dimensionamento impreciso durante a calibração INT8. Isto acontece porque o processo se ajusta com base nos dados que observa. Lotes pequenos podem não capturar toda a gama de valores, gerando problemas na calibração final. Usar um batch size maior ajuda a garantir resultados de calibração mais representativos.

A experimentação por parte da NVIDIA levou-os a recomendar a utilização de pelo menos 500 imagens de calibração que sejam representativas dos dados para o teu modelo, com a calibração de quantização INT8. Esta é uma diretriz e não um requisito rígido, e vais precisar de experimentar o que é necessário para ter um bom desempenho com o teu conjunto de dados. Uma vez que os dados de calibração são necessários para a calibração INT8 com o TensorRT, certifica-te de usar o argumento data quando quantize=8 para o TensorRT e usa data="my_dataset.yaml", que utilizará as imagens de validation para calibrar. Quando nenhum valor é passado para data na exportação para o TensorRT com quantização INT8, a predefinição será usar um dos conjuntos de dados de exemplo "pequenos" com base na tarefa do modelo em vez de lançar um erro.

Exemplo
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ções com eixos dinâmicos; isto será ativado por predefinição ao exportar com quantize=8, mesmo quando não for explicitamente definido. Consulta os export arguments para obter informações adicionais.
  2. Define o tamanho máximo de lote como 8 para o modelo exportado e calibração INT8.
  3. Aloca 4 GiB de memória em vez de alocar todo o dispositivo para o processo de conversão.
  4. Usa o COCO dataset para calibração, especificamente as imagens usadas para validation (5.000 no total).
Cache de Calibração

O TensorRT gerará um .cache de calibração que pode ser reutilizado para acelerar a exportação de futuros pesos de modelos usando os mesmos dados, mas isto pode resultar numa fraca calibração quando os dados forem muito diferentes ou se o valor de batch for alterado drasticamente. Nestas circunstâncias, o .cache existente deve ser renomeado e movido para um diretório diferente ou eliminado por completo.

Vantagens de usar YOLO com TensorRT INT8#

  • Tamanho de modelo reduzido: A quantização de FP32 para INT8 pode reduzir o tamanho do modelo em 4x (em disco ou na memória), levando a tempos de download mais rápidos, menores requisitos de armazenamento e menor pegada de memória ao implantar um modelo.

  • Menor consumo de energia: Operações de precisão reduzida para modelos YOLO exportados em INT8 podem consumir menos energia em comparação com modelos FP32, especialmente para dispositivos alimentados por bateria.

  • Velocidades de inferência aprimoradas: O TensorRT otimiza o modelo para o hardware alvo, levando potencialmente a velocidades de inferência mais rápidas em GPUs, dispositivos embarcados e aceleradores.

Nota sobre Velocidades de Inferência

Podes esperar que as primeiras chamadas de inferência com um modelo exportado para TensorRT INT8 tenham tempos de pré-processamento, inferência e/ou pós-processamento superiores aos normais. Isto também pode acontecer ao alterar imgsz durante a inferência, especialmente quando imgsz não é o mesmo que foi especificado durante a exportação (o imgsz de exportação é definido como o perfil "ideal" do TensorRT).

Desvantagens de usar YOLO com TensorRT INT8#

  • Diminuições nas métricas de avaliação: Usar uma precisão inferior significa que mAP, Precision, Recall ou qualquer outra métrica usada para avaliar o desempenho do modelo será provavelmente um pouco pior. As camadas sigmóides são mantidas a uma maior precisão para preservar a calibração de pontuação, mas o INT8 ainda pode alterar os valores de confiança, por isso seleciona o limiar de operação a partir da curva F1 do próprio modelo INT8. Consulta a seção de resultados de desempenho para comparar as diferenças em mAP50 e mAP50-95 ao exportar com INT8 numa pequena amostra de vários dispositivos.

  • Aumento nos tempos de desenvolvimento: Encontrar as configurações "ideais" para calibração INT8 para o conjunto de dados e dispositivo pode exigir uma quantidade significativa de testes.

  • Dependência de hardware: A calibração e os ganhos de desempenho podem ser altamente dependentes do hardware, e os pesos do modelo são menos transferíveis.

Desempenho da Exportação TensorRT do Ultralytics YOLO#

NVIDIA A100#

Desempenho

Testado com Ubuntu 22.04.3 LTS, python 3.10.12, ultralytics==8.2.4, tensorrt==8.6.1.post1

Consulta a Documentação de Detecção para exemplos de uso com esses modelos treinados no COCO, que incluem 80 classes pré-treinadas.

Nota

Tempos de inferência mostrados para mean, min (mais rápido) e max (mais lento) para cada teste utilizando pesos pré-treinados yolov8n.engine

PrecisãoTeste de avaliaçãomédia
(ms)
mín | máx
(ms)
mAPval
50(B)
mAPval
50-95(B)
batchtamanho
(pixels)
FP32Prever0.520.51 | 0.568640
FP32COCOval0.520.520.371640
FP16Prever0.340.34 | 0.418640
FP16COCOval0.330.520.371640
INT8Prever0.280.27 | 0.318640
INT8COCOval0.290.470.331640

GPUs de Consumo#

Desempenho de Detecção (COCO)

Testado com Windows 10.0.19045, python 3.10.9, ultralytics==8.2.4, tensorrt==10.0.0b6

Nota

Tempos de inferência mostrados para mean, min (mais rápido) e max (mais lento) para cada teste utilizando pesos pré-treinados yolov8n.engine

PrecisãoTeste de avaliaçãomédia
(ms)
mín | máx
(ms)
mAPval
50(B)
mAPval
50-95(B)
batchtamanho
(pixels)
FP32Prever1.060.75 | 1.888640
FP32COCOval1.370.520.371640
FP16Prever0.620.75 | 1.138640
FP16COCOval0.850.520.371640
INT8Prever0.520.38 | 1.008640
INT8COCOval0.740.470.331640

Dispositivos Embarcados#

Desempenho de Detecção (COCO)

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

Nota

Tempos de inferência mostrados para mean, min (mais rápido) e max (mais lento) para cada teste utilizando pesos pré-treinados yolov8n.engine

PrecisãoTeste de avaliaçãomédia
(ms)
mín | máx
(ms)
mAPval
50(B)
mAPval
50-95(B)
batchtamanho
(pixels)
FP32Prever6.116.10 | 6.298640
FP32COCOval6.170.520.371640
FP16Prever3.183.18 | 3.208640
FP16COCOval3.190.520.371640
INT8Prever2.302.29 | 2.358640
INT8COCOval2.320.460.321640
Info

Consulta o nosso guia de início rápido sobre a NVIDIA Jetson com o Ultralytics YOLO para saberes mais sobre a configuração e os parâmetros.

Info

Consulta o nosso guia de início rápido sobre a NVIDIA DGX Spark com o Ultralytics YOLO para saberes mais sobre a configuração e os parâmetros.

Métodos de avaliação#

Expanda as seções abaixo para informações sobre como esses modelos foram exportados e testados.

Configurações de exportação

Consulta o modo de exportação para obter detalhes sobre os argumentos de configuração de exportação.

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"
)
Loop de previsão

Consulta o modo de previsão para informações adicionais.

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",
    )
Configuração de validação

Consulta o modo val para saberes mais sobre os argumentos de configuração de validação.

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",
)

Implantando modelos YOLO26 TensorRT exportados#

Após exportar com sucesso seus modelos Ultralytics YOLO26 para o formato TensorRT, você está pronto para implantá-los. Para instruções detalhadas sobre a implantação de seus modelos TensorRT em vários cenários, dê uma olhada nos seguintes recursos:

Resumo#

Neste guia, focamos na conversão de modelos Ultralytics YOLO26 para o formato de modelo TensorRT da NVIDIA. Esta etapa de conversão é crucial para melhorar a eficiência e a velocidade dos modelos YOLO26, tornando-os mais eficazes e adequados para diversos ambientes de implantação.

Para mais informações sobre detalhes de utilização, consulta a documentação oficial do TensorRT.

Se tens curiosidade sobre outras integrações do Ultralytics YOLO26, a nossa página do guia de integração disponibiliza uma seleção abrangente de recursos e informações úteis.

FAQ#

  • Para converter os teus modelos Ultralytics YOLO26 para o formato TensorRT para inferência otimizada em GPU NVIDIA, segue estes passos:

    1. Instala o pacote necessário:

      pip install ultralytics
    2. Exporta o teu 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 mais detalhes, visita o Guia de instalação do YOLO26 e a documentação de exportação.

  • Usar TensorRT para otimizar modelos YOLO26 oferece vários benefícios:

    • Velocidade de inferência mais rápida: O TensorRT otimiza as camadas do modelo e usa calibração de precisão (INT8 e FP16) para acelerar a inferência sem sacrificar significativamente a precisão.
    • Eficiência de memória: O TensorRT gere a memória de tensores dinamicamente, reduzindo a sobrecarga e melhorando a utilização da memória da GPU.
    • Fusão de camadas: Combina várias camadas em operações únicas, reduzindo a complexidade computacional.
    • Auto-ajuste de Kernel: Seleciona automaticamente kernels de GPU otimizados para cada camada do modelo, garantindo o desempenho máximo.

    Para saberes mais, explora a documentação oficial do TensorRT da NVIDIA e a nossa visão geral aprofundada do TensorRT.

  • Sim, podes exportar modelos YOLO26 usando TensorRT com quantização INT8. Este processo envolve quantização pós-treino (PTQ) e calibração:

    1. Exportar com INT8:

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

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

    Para mais detalhes, consulta a seção de exportação do TensorRT com quantização INT8.

  • A implementação de modelos YOLO26 TensorRT num NVIDIA Triton Inference Server pode ser feita usando os seguintes recursos:

    Estes guias ajudar-te-ão a integrar modelos YOLO26 de forma eficiente em vários ambientes de implementação.

  • As melhorias de desempenho com TensorRT podem variar com base no hardware usado. Aqui estão alguns benchmarks típicos:

    • NVIDIA A100:

      • Inferência FP32: ~0,52 ms / imagem
      • Inferência FP16: ~0,34 ms / imagem
      • Inferência INT8: ~0,28 ms / imagem
      • Ligeira redução no mAP com precisão INT8, mas melhoria significativa na velocidade.
    • GPUs de consumidor (por exemplo, RTX 3080):

      • Inferência FP32: ~1,06 ms / imagem
      • Inferência FP16: ~0,62 ms / imagem
      • Inferência INT8: ~0,52 ms / imagem

    Benchmarks de desempenho detalhados para diferentes configurações de hardware podem ser encontrados na seção de desempenho.

    Para obter mais informações abrangentes sobre o desempenho do TensorRT, consulta a documentação do Ultralytics e os nossos relatórios de análise de desempenho.

Comentários