Ultralytics YOLO27:
Get Started

Exportação e implementação com Axelera AI#

A Ultralytics estabelece parcerias com a Axelera AI para permitir inferência de alto desempenho e eficiência energética em dispositivos de IA de borda. Exporta e implementa modelos Ultralytics YOLO diretamente na AIPU Metis® com o Voyager SDK.

Ecossistema de implementação de IA de borda da Axelera AI para YOLO

A Axelera AI oferece aceleração de hardware dedicada para visão computacional na borda, usando uma arquitetura proprietária de fluxo de dados e computação em memória para fornecer até 856 TOPS com baixo consumo de energia.

Escolher o hardware certo#

A Axelera AI oferece vários formatos para atender a diferentes restrições de implementação. O gráfico abaixo ajuda a identificar o hardware ideal para a tua implementação do Ultralytics YOLO.

Portefólio de hardware#

A linha de hardware da Axelera está otimizada para executar Ultralytics YOLO26 e versões anteriores com alta eficiência de FPS por watt.

Placas aceleradoras#

Estas placas permitem acelerar a IA em dispositivos host existentes, facilitando implementações em instalações existentes.

ProdutoFormatoComputaçãoDesempenho (INT8)Aplicação-alvo
Metis PCIe x4PCIe Gen3 x164x AIPUs Metis856 TOPSAnálise de vídeo de alta densidade, cidades inteligentes
Metis PCIe x1PCIe Gen3 x11x AIPU Metis214 TOPSPCs industriais, gestão de filas no retalho
Metis M.2M.2 2280 M-Key1x AIPU Metis214 TOPSDrones, robótica, dispositivos médicos portáteis
Metis M.2 MAXM.2 22801x AIPU Metis214 TOPSAmbientes que exigem gestão térmica avançada

Sistemas integrados#

Para soluções prontas a utilizar, a Axelera estabelece parcerias com fabricantes para fornecer sistemas previamente validados para a AIPU Metis.

  • Placa de computação Metis: dispositivo de borda autónomo que combina a AIPU Metis com uma CPU ARM Rockchip RK3588.
  • Estações de trabalho: torres empresariais da Dell (Precision 3460XE) e da Lenovo (ThinkStation P360 Ultra).
  • PCs industriais: sistemas robustos da Advantech e da Aetina, concebidos para a automação industrial.

Tarefas suportadas#

A estimativa de profundidade não é suportada: a cabeça de profundidade emite operadores que o compilador da AIPU Metis não consegue converter para código de máquina. A segmentação de instâncias do YOLO26 também não é suportada pelo export da Ultralytics, mas ainda pode ser implementada através do Voyager SDK, conforme descrito abaixo. A segmentação semântica do YOLO26 é suportada.

TarefaYOLOv8YOLO11YOLO26
Detetar✅✅✅
Segmentar✅✅❌
Semântica❌❌✅
Profundidade❌❌❌
Classificar✅✅✅
Pose✅✅✅
OBB✅✅✅
Nota

A segmentação de instâncias do YOLO26 ainda não é suportada através do comando export da Ultralytics. Os utilizadores que precisam de yolo26-seg podem implementar através do Voyager SDK com deploy.py, que oferece uma solução alternativa em espaço de utilizador. O suporte nativo do compilador será adicionado numa versão futura.

Instalação#

Requisitos da plataforma

A exportação para o formato Axelera requer:

  • Sistema operativo: apenas Linux (recomenda-se Ubuntu 22.04/24.04)
  • Hardware: acelerador Axelera AI (dispositivos Metis)
  • Python: versões 3.10, 3.11, 3.12 e 3.13
  • PyTorch: torch>=2.8,<2.13
  • Voyager SDK: 1.8.0; a exportação instala esta versão do kit de desenvolvimento e a inferência instala esta versão do runtime
  • Controlador do kernel Metis: metis-dkms 1.6.2 ou posterior, instalado separadamente de pip
  • Dependência do sistema: sudo apt install libgl1 (necessário para o OpenCV, não incluído através de pip)

Instalação da Ultralytics#

pip install ultralytics

Para instruções detalhadas, consulta o nosso guia de instalação da Ultralytics. Se tiveres dificuldades, consulta o nosso guia de problemas comuns.

Instalação do controlador Axelera#

  1. Adiciona a chave do repositório Axelera:

    sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg"
  2. Adiciona o repositório ao apt:

    Escolhe o fragmento apropriado abaixo, de acordo com o sistema operativo utilizado.

    # Ubuntu 22.04
    sudo sh -c "echo 'deb [signed-by=/etc/apt/keyrings/axelera.gpg] https://software.axelera.ai/artifactory/axelera-apt-source ubuntu22 main' > /etc/apt/sources.list.d/axelera.list"
    # Ubuntu 24.04
    sudo sh -c "echo 'deb [signed-by=/etc/apt/keyrings/axelera.gpg] https://software.axelera.ai/artifactory/axelera-apt-source ubuntu24 main' > /etc/apt/sources.list.d/axelera.list"
  3. Instala o controlador e carrega-o. O SDK 1.8 requer metis-dkms 1.6.2 ou posterior, por isso a versão mais recente é instalada aqui:

    sudo apt update
    sudo apt install -y metis-dkms
    sudo modprobe metis
Mantém o controlador do kernel sincronizado com o SDK

O controlador do kernel é instalado separadamente dos pacotes Python do SDK. Por isso, depois de atualizar o SDK, também tens de atualizar o controlador para, pelo menos, a versão mínima exigida pelo SDK — 1.6.2 para o SDK 1.8. Esta compatibilidade não é verificada durante a instalação, e um controlador abaixo da versão mínima deixa o dispositivo indisponível: axdevice indica a versão necessária e falha ao abrir o dispositivo.

[libaxldev.c:285] Found kernel driver version 1.5.5, but at least version 1.6.2 is required. Please update the kernel driver
ERROR: AXR_ERROR_CONNECTION_ERROR: Failed to open device metis-0:4:0

Consulta também Passo 3: Instalar o controlador do kernel Metis. Se já estiveres a executar uma versão anterior do SDK no Ubuntu, atualiza o controlador e recarrega o módulo do kernel (não é necessário reiniciar):

sudo apt update
sudo apt install -y metis-dkms
sudo rmmod metis
sudo modprobe metis

Em seguida, volta a executar axdevice para confirmar que o dispositivo foi detetado.

A primeira execução transfere o SDK automaticamente

Na primeira execução de yolo export format=axelera ou yolo predict com um modelo Axelera, os pacotes do SDK Axelera são transferidos e instalados automaticamente. Isto pode demorar vários minutos, dependendo da velocidade da ligação, e não é apresentado qualquer progresso durante a transferência. Para instalar manualmente de antemão:

pip install axelera-devkit==1.8.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
pip install axelera-rt==1.8.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
Uma atualização do SDK invalida os modelos exportados existentes

O SDK 1.8 aumenta a versão do formato do modelo compilado .axm, pelo que os diretórios _axelera_model produzidos por uma versão anterior do SDK são rejeitados no momento do carregamento. Volta a exportar cada modelo depois de atualizar:

Error: Unsupported model version: 4.0, expected at least 5.0
Please re-deploy or re-download the model.

Exportar modelos YOLO para Axelera#

O formato Axelera suporta os modos Exportar, Prever e Validar. A inferência e a validação são executadas no hardware AIPU Metis da Axelera. Exporta o teu modelo e, em seguida, carrega o modelo exportado para executar a inferência ou validar a respetiva precisão.

Exportar
from ultralytics import YOLO

# Carrega um modelo YOLO26
model = YOLO("yolo26n.pt")

# Exportar o modelo para o formato Axelera
model.export(format="axelera")  # creates 'yolo26n_axelera_model'
Prever
from ultralytics import YOLO

# Carregar o modelo Axelera exportado
model = YOLO("yolo26n_axelera_model")

# Executar inferência
results = model("https://ultralytics.com/images/bus.jpg")
Validar
from ultralytics import YOLO

# Carregar o modelo Axelera exportado
model = YOLO("yolo26n_axelera_model")

# Validar a precisão no conjunto de dados COCO8
metrics = model.val(data="coco8.yaml")

Argumentos de exportação#

ArgumentoTipoPadrãoDescrição
formatstr'axelera'Formato de destino para o hardware AIPU Metis da Axelera.
imgszint ou tuple640Tamanho da imagem de entrada do modelo.
batch*int1Especifica o tamanho do lote de inferência do modelo exportado ou o número máximo de imagens que o modelo exportado processará em simultâneo no modo predict.
quantizeint ou str8/autoPrecisão da quantização. 8 (INT8) é obrigatório e ativado automaticamente para a AIPU Axelera. Substitui as flags obsoletas half/int8. Consulta Quantização INT8.
datastrNoneYAML do conjunto de dados de calibração; para classificação, aceita-se um diretório de conjunto de dados ou o nome de um conjunto de dados integrado. Se não for especificado, a Ultralytics seleciona um conjunto de dados de calibração específico para a tarefa.
fractionfloat, int ou list1.0Subconjunto de calibração indicado como proporção, número de imagens ou proporções/contagens [train, val, test]. As listas com dois elementos deixam test completo, enquanto 0 o ignora (recomendam-se 100-400 imagens).
devicestrNoneDispositivo de exportação: GPU (device=0) ou CPU (device=cpu).

* A inferência com batch>1 requer o Voyager SDK 1.8.0 ou posterior; os modelos são compilados para uma única imagem.

Para consultar todas as opções de exportação, vê a documentação do modo Exportar.

Estrutura de saída#

yolo26n_axelera_model/
├── yolo26n.axm                  # Axelera model file
├── compiler_config_final.toml  # Compiler configuration used for the build
└── metadata.yaml               # Model metadata (classes, image size, etc.)

Benchmarks da Axelera AI#

A AIPU Metis maximiza a capacidade de processamento e minimiza o consumo de energia.

ModeloFPS da Metis PCIe (fotogramas por segundo)FPS da Metis M.2 (fotogramas por segundo)
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.9

Benchmarks baseados em dados da Axelera AI. O FPS real depende do tamanho do modelo, do agrupamento em lotes e da resolução de entrada.

Estes são valores de capacidade de processamento do host, medidos pelo zoo de modelos com o pipeline de streaming do Voyager SDK sobre um ficheiro de vídeo de 720p. Uma única chamada predict indica a latência por imagem, que é uma medida diferente.

Aplicações no mundo real#

O Ultralytics YOLO em hardware Axelera possibilita soluções avançadas de computação de borda:

  1. Treina o teu modelo com o Modo de Treino da Ultralytics
  2. Exporta para o formato Axelera com model.export(format="axelera")
  3. Valida a precisão com yolo val para verificar se a perda de quantização é mínima
  4. Faz previsões com yolo predict para validação qualitativa
  5. Implementa um pipeline de ponta a ponta de alto desempenho sem dependência do PyTorch — consulta os exemplos do YOLO no Voyager SDK para ver pipelines Python compostos com axelera-rt

Verificação do estado do dispositivo#

Verifica se o teu dispositivo Axelera está a funcionar corretamente:

# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdevice

Para obter diagnósticos detalhados, consulta a documentação do AxDevice.

Desempenho máximo#

Os modelos são compilados para uma única imagem. Ao passar várias imagens para Predict, estas são encaminhadas pelo agendador da Axelera (Voyager SDK 1.8 ou posterior), pelo que batch>1 é executado corretamente, embora, medido de ponta a ponta num único dispositivo, não seja mais rápido do que batch=1:

yolo predict model=yolo26n_axelera_model source=path/to/images batch=8

Para produção que exige capacidade de processamento máxima, o Axelera Voyager SDK oferece:

  • Pipelines de inferência em streaming que mantêm vários fotogramas em processamento
  • Compilação de um modelo em vários núcleos
  • Inferência em mosaicos para câmaras de maior resolução

Consulta o zoo de modelos para ver benchmarks de FPS ou contacta a Axelera para obter suporte para produção.

Problemas conhecidos#

Limitações conhecidas
  • Limitações de energia do M.2: Modelos grandes ou extragrandes podem apresentar erros em tempo de execução em aceleradores M.2 devido a limitações da fonte de alimentação.

Para obter suporte, visita a comunidade Axelera.

Perguntas frequentes#

  • O Voyager SDK permite exportar modelos YOLOv8, YOLO11 e YOLO26. Consulta Tarefas compatíveis para ver a disponibilidade de tarefas por modelo.

  • Sim. Qualquer modelo treinado com o Modo de Treino da Ultralytics pode ser exportado para o formato Axelera, desde que utilize camadas e operações compatíveis.

  • O Voyager SDK da Axelera quantiza automaticamente os modelos para a arquitetura AIPU de precisão mista. Na maioria das tarefas de deteção de objetos, os ganhos de desempenho (FPS mais elevado e menor consumo de energia) compensam largamente o impacto mínimo no mAP. A quantização demora entre alguns segundos e várias horas, dependendo do tamanho do modelo. Executa yolo val após a exportação para verificar a precisão.

  • Recomendamos entre 100 e 400 imagens. Mais de 400 não traz benefícios adicionais e aumenta o tempo de quantização. Experimenta com 100, 200 e 400 imagens para encontrar o equilíbrio ideal.

  • O SDK, os controladores e as ferramentas do compilador estão disponíveis no Portal de programadores da Axelera.

Comentários