YOLO Vision 2026:

Exportação DEEPX para Modelos Ultralytics YOLO#

Implantar modelos de visão computacional em hardware de NPU especializado requer um formato de modelo compatível e otimizado. Exportar modelos do Ultralytics YOLO para o formato DEEPX permite inferência eficiente quantizada em INT8 em aceleradores de NPU DEEPX. Este guia orienta você na conversão dos seus modelos YOLO para o formato DEEPX e na implantação deles em hardware alimentado por DEEPX.

O que é DEEPX?#

DEEPX NPU Inference

A DEEPX é uma empresa de semicondutores de IA especializada em Unidades de Processamento Neural (NPUs) projetadas para inferência de deep learning com eficiência energética na borda. As NPUs da DEEPX são projetadas para aplicações de IA industrial e embarcada exigentes, entregando alto rendimento com consumo mínimo de energia. O hardware deles é bem adequado para cenários de implantação onde a conectividade com a nuvem é instável ou indesejável, como robótica, câmeras inteligentes e sistemas de automação industrial.

Formato de Exportação DEEPX#

A exportação DEEPX produz um binário de modelo compilado .dxnn que é otimizado para execução em hardware de NPU DEEPX. O pipeline de compilação usa o kit de ferramentas dx_com para realizar quantização INT8 e otimização específica de hardware, gerando um diretório de modelo autossuficiente pronto para implantação.

Principais Características dos Modelos DEEPX#

Os modelos DEEPX oferecem várias vantagens para implantação na borda:

  • Quantização INT8: Os modelos são quantizados para a precisão INT8 durante a exportação, reduzindo significativamente o tamanho do modelo e maximizando o rendimento da NPU. Saiba mais sobre quantização de modelos.
  • Otimizado para NPU: O formato .dxnn é especificamente compilado para hardware de NPU DEEPX, aproveitando unidades de aceleração dedicadas para inferência rápida e eficiente.
  • Baixo Consumo de Energia: Ao transferir a inferência para a NPU, os modelos DEEPX consomem muito menos energia do que uma inferência equivalente em CPU ou GPU.
  • Precisão Baseada em Calibração: A exportação utiliza calibração baseada em EMA com imagens reais do conjunto de dados para minimizar a perda de precisão durante a quantização.
  • Saída Autocontida: O diretório do modelo exportado agrupa o binário compilado, a configuração de calibração e metadados para uma implantação simples.

Tarefas Suportadas#

A exportação DEEPX suporta todas as sete tarefas do Ultralytics. A segmentação semântica e a estimativa de profundidade estão disponíveis apenas com o YOLO26, a única família que inclui esses cabeçalhos.

TarefaYOLOv8YOLO11YOLO26
Detectar
Segmentar
Semântica
Profundidade
Classificar
Pose
OBB

Exportar para DEEPX: Convertendo seu Modelo YOLO#

Exporte um modelo Ultralytics YOLO para o formato DEEPX e execute a inferência com o modelo exportado.

Nota

A exportação DEEPX é suportada apenas em máquinas Linux x86-64. ARM64 (aarch64) não é suportado para a etapa de exportação. No entanto, os modelos dxnn exportados são totalmente compatíveis e executáveis em plataformas ARM64.

Instalação#

Para instalar os pacotes necessários, execute:

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

O pacote de compilador dx_com será instalado automaticamente a partir do repositório do SDK da DEEPX na primeira exportação. Para instruções detalhadas e melhores práticas relacionadas ao processo de instalação, consulte nosso Guia de Instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLO, se você encontrar alguma dificuldade, consulte nosso Guia de Problemas Comuns para soluções e dicas.

Uso#

O formato DEEPX suporta os modos Export, Predict e Validate. A inferência e a validação são executadas em hardware de NPU DEEPX. Exporte seu modelo, depois carregue o modelo exportado para executar a inferência ou validar sua precisão.

Exportar
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to DEEPX format (quantize=8 is enforced automatically)
model.export(format="deepx")  # creates 'yolo26n_deepx_model/'
Prever
from ultralytics import YOLO

# Load the exported DEEPX model
model = YOLO("yolo26n_deepx_model")

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

# Load the exported DEEPX model
model = YOLO("yolo26n_deepx_model")

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

Argumentos de Exportação#

ArgumentoTipoPredefiniçãoDescrição
formatstr'deepx'Formato de destino para o modelo exportado, definindo a compatibilidade com hardware NPU DEEPX.
imgszint ou tuple640Tamanho de imagem desejado para a entrada do modelo. A exportação DEEPX requer uma entrada quadrada — passe um inteiro (por exemplo, 640) ou uma tupla onde a altura é igual à largura.
quantizeint ou str8/autoPrecisão de quantização. 8 (INT8) é obrigatório para a exportação DEEPX e ativado automaticamente se não for especificado. Substitui as flags obsoletas half/int8.
simplifyboolTrueSimplifica o grafo ONNX intermediário com onnxslim.
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.
datastrNoneYAML do conjunto de dados usado para calibração INT8; a classificação por sua vez utiliza um diretório de conjunto de dados ou um nome de conjunto de dados integrado. Se omitido com quantize=8, o Ultralytics seleciona o conjunto de dados de calibração padrão para a tarefa do modelo.
devicestrNoneEspecifica o dispositivo para exportação: GPU (device=0) ou CPU (device=cpu).
optimizeboolFalseHabilita uma otimização de compilador mais alta, o que reduz a latência de inferência e aumenta o tempo de compilação.
Dica

Sempre execute a exportação DEEPX em um host x86-64 Linux. O compilador dx_com não suporta ARM64.

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

Estrutura de Saída#

Após uma exportação bem-sucedida, um diretório de modelo é criado com o seguinte layout:

yolo26n_deepx_model/
├── yolo26n.dxnn     # Compiled DEEPX model binary (NPU executable)
├── config.json      # Calibration and preprocessing configuration
└── metadata.yaml    # Model metadata (classes, image size, task, etc.)

O arquivo .dxnn é o binário do modelo compilado que o tempo de execução dx_engine carrega diretamente na NPU. O metadata.yaml contém nomes de classes, tamanho da imagem e outras informações usadas pelo pipeline de inferência do Ultralytics.

Implantando Modelos YOLO DEEPX Exportados#

Depois de exportar com sucesso seu modelo Ultralytics YOLO para o formato DEEPX, o próximo passo é implantar esses modelos em hardware NPU DEEPX.

Instalação do Runtime#

A inferência requer o driver de NPU DEEPX, o tempo de execução libdxrt e o pacote Python dx_engine.

Nota

O runtime DEEPX suporta tanto Linux x86-64 quanto ARM64 (por exemplo, Raspberry Pi 5).

# Install the NPU driver and libdxrt runtime
sudo apt update
wget https://github.com/DEEPX-AI/dx_rt_npu_linux_driver/raw/main/release/2.4.1/dxrt-driver-dkms_2.4.1-2_all.deb
sudo apt install ./dxrt-driver-dkms_2.4.1-2_all.deb
wget https://github.com/DEEPX-AI/dx_rt/raw/main/release/3.3.2/libdxrt_3.3.2_all.deb
sudo apt install ./libdxrt_3.3.2_all.deb

# Create dx-engine wheel
cd /usr/share/libdxrt/python_package && sudo ./make_whl.sh

# Install the bundled dx_engine Python wheel
pip install dx_engine-*.whl

Verifique se o tempo de execução está instalado corretamente com dxrt-cli --version. Você deve ver uma saída semelhante a:

DXRT v3.3.2
Minimum Driver Versions
Device Driver: v2.4.0
PCIe Driver: v2.2.0
Firmware: v2.5.2
Minimum Compiler Versions
Compiler: v1.18.1
.dxnn File Format: v6

Assim que o tempo de execução estiver instalado, execute a inferência e a validação no seu dispositivo DEEPX exatamente como mostrado na seção Usage acima — o _deepx_model exportado carrega diretamente com YOLO(...).

Visualizando com dxtron#

dxtron é o visualizador de grafos da DEEPX para inspecionar o modelo compilado .dxnn.

Instale o dxtron no x86-64 Linux baixando o pacote .deb do SDK da DEEPX e instalando-o via dpkg:

wget https://sdk.deepx.ai/release/dxtron/v2.0.1/dxtron_2.0.1_amd64.deb
sudo dpkg -i dxtron_2.0.1_amd64.deb

Em seguida, abra seu modelo exportado:

dxtron yolo26n_deepx_model/yolo26n.dxnn
Nota

dxtron está disponível para plataformas x86-64 e aarch64.

Benchmarks#

A equipe da Ultralytics realizou benchmarks com modelos YOLO26, comparando velocidade e precisão entre PyTorch e DEEPX.

Desempenho
Raspberry Pi 5 DEEPX M1 NPU vs PyTorch benchmarks
ModeloFormatoStatusTamanho (MB)metrics/mAP50-95(B)Tempo de inferência (ms/im)
YOLO26nPyTorch5.30.4760315.2
YOLO26nDEEPX6.60.466034.6
YOLO26n-segPyTorch6.50.4080485.4
YOLO26n-segDEEPX7.90.392053.8
YOLO26n-posePyTorch7.60.4230506.3
YOLO26n-poseDEEPX8.80.459037.6
YOLO26n-obbPyTorch5.70.8171094.4
YOLO26n-obbDEEPX7.30.78356.4
ModeloFormatoStatusTamanho (MB)acc (top1)acc (top5)Tempo de inferência (ms/im)
YOLO26n-clsPyTorch5.60.4310.71623.8
YOLO26n-clsDEEPX5.90.3330.6862.7
Nota

A validação para os benchmarks acima foi feita usando coco128 para detecção, coco128-seg para segmentação, coco8-pose para estimativa de pose, imagenet100 para classificação e dota128 para modelos OBB. O tempo de inferência não inclui pré/pós-processamento.

Dicas de Otimização de Desempenho

Para obter o melhor rendimento de inferência da NPU DX-M1 conectada a um Raspberry Pi 5, abra o arquivo de configuração de inicialização e ative o suporte a PCIe Gen 3.

sudo nano /boot/firmware/config.txt

Adicione as seguintes linhas ao final do arquivo:

dtparam=pciex1
dtparam=pciex1_gen=3

Salve e saia (Ctrl+X, depois Y, depois Enter) e, em seguida, reinicie:

sudo reboot

Verifique a geração PCIe. A velocidade esperada é de 8GT/s para PCIe Gen3.

sudo lspci -vvv | grep -iA 33 accelerators | grep -E "LnkCap|LnkSta"

Fluxo de Trabalho Recomendado#

  1. Treine seu modelo usando o Modo de Treinamento do Ultralytics
  2. Exporte para o formato DEEPX usando model.export(format="deepx")
  3. Valide a precisão com yolo val para verificar a perda mínima de quantização
  4. Preveja usando yolo predict para validação qualitativa
  5. Implante o diretório _deepx_model/ exportado em hardware de NPU DEEPX usando o tempo de execução dx_engine

Aplicações do Mundo Real#

Modelos YOLO implantados em hardware de NPU DEEPX são adequados para uma ampla gama de aplicações de edge AI:

  • Vigilância Inteligente: Detecção de objetos em tempo real para sistemas de segurança e monitoramento com baixo consumo de energia e sem dependência de nuvem.
  • Automação Industrial: Controle de qualidade no dispositivo, detecção de defeitos e monitoramento de processos em ambientes fabris.
  • Robótica: Navegação baseada em visão, desvio de obstáculos e reconhecimento de objetos em robôs autônomos e drones.
  • Agricultura Inteligente: Monitoramento da saúde de plantações, detecção de pragas e estimativa de colheita usando visão computacional na agricultura.
  • Análise de Varejo: Análise de fluxo de clientes, monitoramento de prateleiras e controle de inventário com inferência de borda em tempo real.

Resumo#

Neste guia, você aprendeu como exportar modelos Ultralytics YOLO para o formato DEEPX e implantá-los em hardware de NPU DEEPX. O pipeline de exportação usa calibração INT8 e o compilador dx_com para produzir um binário .dxnn otimizado para hardware, enquanto o tempo de execução dx_engine lida com a inferência no dispositivo.

A combinação do Ultralytics YOLO e da tecnologia de NPU da DEEPX fornece uma solução eficaz para executar cargas de trabalho avançadas de visão computacional em dispositivos embarcados e de borda — entregando alto rendimento com baixo consumo de energia para aplicações em tempo real.

Para mais detalhes sobre o uso, visite o site oficial da DEEPX.

Além disso, se você quiser saber mais sobre outras integrações do Ultralytics YOLO, visite nossa página do guia de integração. Você encontrará muitos recursos e insights úteis lá.

FAQ#

  • Você pode exportar seu modelo usando o método export() em Python ou via CLI. A exportação ativa automaticamente a quantização INT8 e usa um conjunto de dados de calibração para minimizar a perda de precisão. O pacote do compilador dx_com é instalado automaticamente se ainda não estiver presente.

    Exemplo
    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    model.export(format="deepx")
  • As NPUs da DEEPX são projetadas para executar computações INT8 com máxima eficiência. O compilador dx_com quantiza o modelo durante a exportação usando calibração baseada em EMA com imagens reais de conjuntos de dados, permitindo que a NPU entregue seu desempenho máximo. O INT8 é sempre aplicado para exportações DEEPX — se você solicitar uma precisão diferente, ela será substituída com um aviso.

  • A exportação (compilação) de modelos DEEPX requer um host x86-64 Linux. A etapa de exportação não é suportada em máquinas ARM64 (aarch64) e Windows. A inferência usando o modelo .dxnn exportado pode ser executada em qualquer plataforma Linux (x86-64 e ARM64) suportada pelo tempo de execução dx_engine.

  • A exportação cria um diretório (por exemplo, yolo26n_deepx_model/) contendo:

    • yolo26n.dxnn — o binário de NPU compilado
    • config.json — configurações de calibração e pré-processamento
    • metadata.yaml — metadados do modelo incluindo nomes de classes e tamanho da imagem
  • Sim. Qualquer modelo treinado usando o Modo de Treinamento do Ultralytics e exportado com format="deepx" pode ser implantado em hardware de NPU DEEPX, desde que use operações de camada suportadas. A exportação suporta todas as sete tarefas do Ultralytics: detecção, segmentação de instâncias, segmentação semântica, estimativa de profundidade, classificação, estimativa de pose e caixa delimitadora orientada (OBB).

  • O pipeline de exportação DEEPX usa todas as imagens do conjunto de dados de calibração com o método de calibração EMA. Algumas centenas de imagens geralmente são suficientes para uma boa precisão de quantização. Aponte data para um conjunto de dados menor se o tempo de compilação se tornar uma preocupação em conjuntos de dados grandes.

  • O tempo de execução da DEEPX não vem empacotado com ultralytics e deve ser instalado separadamente antes de executar a inferência. Em máquinas x86-64 Linux e máquinas ARM64 Linux (por exemplo, Raspberry Pi 5), instale o driver da NPU (dxrt-driver-dkms) e o tempo de execução (libdxrt) a partir dos lançamentos do GitHub da DEEPX-AI, depois instale o wheel Python dx_engine empacotado. Veja a seção Instalação do Tempo de Execução acima para comandos passo a passo.

Comentários