Segurança pronta para empresas: Em conformidade com ISO 27001 + SOC 2 Tipo I.

Link to this sectionExportação para Huawei Ascend para Modelos Ultralytics YOLO#

Implantar modelos de visão computacional em Processadores de IA Huawei Ascend requer compilá-los para o formato de modelo offline .om executado pelo Ascend AI Core. Exportar modelos do Ultralytics YOLO para o Ascend permite que você execute inferência rápida e de baixo consumo em placas de desenvolvedor Atlas e dispositivos OrangePi AIPro usados em robótica, inspeção industrial e implantações de câmeras inteligentes.

Link to this sectionO que é o Huawei Ascend?#

O Huawei Ascend é uma família de Processadores de IA combinada com o CANN (Compute Architecture for Neural Networks), a pilha de computação heterogênea da Huawei. O CANN inclui o ATC (Ascend Tensor Compiler), uma ferramenta no lado do host que converte um grafo ONNX padrão em um modelo offline .om específico de hardware direcionado ao Ascend AI Core.

Como o ATC é executado inteiramente no host, você pode compilar modelos em uma máquina Linux x86-64 ou ARM64 comum sem nenhum hardware Ascend conectado, e então copiar o .om resultante para o dispositivo de destino para a inferência.

Link to this sectionFormato de Exportação Ascend#

O exportador da Ultralytics primeiro grava um grafo ONNX intermediário e, em seguida, invoca o ATC para compilar o modelo para o SoC que você definiu com o argumento name. O resultado é um diretório de modelo autossuficiente contendo o binário .om e seus metadados da Ultralytics.

Link to this sectionPrincipais Recursos dos Modelos Ascend#

  • AI Core Dedicado: Modelos compilados são executados no Ascend AI Core em vez da CPU do host, oferecendo uma taxa de transferência substancialmente maior para pipelines de câmera em tempo real.
  • Compilação no lado do host: O ATC não precisa de nenhuma NPU conectada, portanto a exportação é executada em CI, em contêineres ou em um laptop.
  • Foco em ONNX: A exportação ONNX padrão da Ultralytics alimenta diretamente a cadeia de ferramentas do CANN sem nenhum formato intermediário proprietário.
  • Formas estáticas: A forma de entrada é incorporada no .om no momento da compilação, eliminando a sobrecarga de negociação de formas em tempo de execução.
  • Direcionamento para múltiplos dispositivos: O mesmo grafo ONNX é compilado para qualquer SoC compatível alterando o parâmetro name.

Link to this sectionTarefas Suportadas#

A exportação para o Ascend é compatível com todas as sete tarefas da Ultralytics. Detecção, segmentação de instâncias, pose, OBB e classificação cobrem as famílias YOLO26, YOLO11 e YOLOv8; segmentação semântica e estimativa de profundidade são exclusivas do YOLO26.

Link to this sectionDispositivos Compatíveis#

Passe o SoC de destino com name; o ATC o incorpora no .om como --soc_version, portanto ele deve corresponder à placa na qual você realizará a implantação. Localmente, você pode compilar para qualquer SoC para o qual sua instalação do CANN forneça kernels. Na Ultralytics Platform, os destinos 310B estão listados como "em breve", enquanto seus kernels de operador são adicionados à imagem de build.

nameDispositivosExportação localPlataforma
Ascend310P3Atlas 300I Pro, Atlas 300V Pro
Ascend310P1Atlas 300I
Ascend310B4OrangePi AIPro 20T, Atlas 200I A2Em breve
Ascend310B1OrangePi AIPro 8TEm breve

Link to this sectionExportando para o Ascend: Convertendo o Seu Modelo YOLO#

Nota

A exportação para o Ascend requer o kit de ferramentas CANN, que é exclusivo para Linux. O compilador atc deve estar no seu PATH — carregue o script de ambiente do CANN antes de exportar, por exemplo, executando source /usr/local/Ascend/ascend-toolkit/set_env.sh.

Link to this sectionInstalação#

Instale o Ultralytics e, em seguida, instale o CANN separadamente a partir da Huawei.

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

O kit de ferramentas CANN é distribuído pela Huawei e não é instalado automaticamente. Baixe-o na página de downloads da comunidade Ascend ou use uma das imagens de contêiner oficiais do ascendai/cann, que agrupam o ATC e suas dependências.

Corresponda o kit de ferramentas ao seu SoC de destino

O ATC só pode compilar para famílias de SoC cujos kernels de operador estejam instalados. Um kit de ferramentas que contenha apenas kernels ascend310p falhará com o erro No supported Ops kernel and engine are found for ... Conv2D quando solicitado um destino Ascend310B4. Instale o pacote correspondente Ascend-cann-kernels-<soc> para o dispositivo onde você fará a implantação.

Link to this sectionUso#

O formato Ascend é compatível com os modos Export, Predict e Validate. A inferência e a validação são executadas em hardware Ascend. Exporte seu modelo e, em seguida, 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 Ascend format for an Atlas 200I / OrangePi AIPro board
model.export(format="ascend", name="Ascend310B4")

# Load the exported Ascend model and run inference on the device
ascend_model = YOLO("yolo26n_ascend_model")
results = ascend_model("https://ultralytics.com/images/bus.jpg")

Link to this sectionArgumentos de Exportação#

ArgumentoTipoPredefiniçãoDescrição
formatstr'ascend'Formato de destino para o modelo exportado, definindo a compatibilidade com Processadores de IA Ascend.
namestr'Ascend310B4'SoC de destino passado para o ATC como --soc_version, por exemplo, Ascend310P3. Qualquer SoC para o qual sua instalação do CANN possua kernels é válido; consulte Dispositivos Compatíveis. Deve corresponder ao seu dispositivo de implantação.
imgszint ou tuple640Tamanho de imagem desejado para a entrada do modelo, incorporado no .om como uma forma estática.
batchint1Tamanho de lote estático compilado no modelo offline.
quantizeint16Precisão de quantização. A exportação para o Ascend é restrita a FP16 e ativa automaticamente a opção 16 caso não seja especificada. Substitui as flags obsoletas half/int8.
opsetint17Opset ONNX para o grafo intermediário. Limitado a 17, a versão mais alta aceita pelo analisador ONNX do CANN.
simplifyboolTrueSimplifica o grafo ONNX intermédio com onnxslim.
nmsboolFalseAdiciona a Supressão de Não-Máximos (NMS) a modelos compatíveis de detecção, segmentação, pose e OBB.
Por que o FP32 não está disponível?

O Ascend AI Core aceita apenas entradas DT_FLOAT16 e DT_INT8 para convoluções, portanto um modelo offline em FP32 não pode ser executado no hardware. Solicitar quantize=32 gera um erro em vez de produzir silenciosamente um modelo que não será executado.

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

Link to this sectionEstrutura de Saída#

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

yolo26n_ascend_model/
├── yolo26n_Ascend310B4.om  # Compiled Ascend offline model (AI Core executable)
└── metadata.yaml           # Model metadata (classes, image size, task, etc.)

O arquivo .om é o modelo offline compilado que o tempo de execução do CANN carrega no dispositivo. Seu nome contém o SoC de destino para que o artefato seja autodescritivo; mantenha apenas um .om por diretório, pois o carregador seleciona o único modelo que encontrar ali. O arquivo metadata.yaml contém nomes de classes, tamanho da imagem e outras informações usadas pelo pipeline de inferência da Ultralytics.

Link to this sectionImplantando Modelos YOLO Ascend Exportados#

Assim que você exportar com sucesso o seu modelo Ultralytics YOLO para o formato Ascend, o próximo passo será implantá-lo em hardware Ascend.

Link to this sectionInstalação do Runtime#

A inferência requer o tempo de execução do CANN no dispositivo, além do pacote Python ais_bench, que encapsula as ligações pyACL do CANN. Compile e instale-o a partir do repositório de ferramentas Ascend da Huawei:

# On the Ascend device, with CANN installed and sourced
source /usr/local/Ascend/ascend-toolkit/set_env.sh

# Build and install the ais_bench inference wheel
git clone https://gitee.com/ascend/tools.git
cd tools/ais-bench_workload/tool/ais_bench
pip3 wheel ./backend -v
pip3 install ./aclruntime-*.whl
pip3 wheel ./ -v
pip3 install ./ais_bench-*.whl

Copie o diretório exportado yolo26n_ascend_model para o dispositivo e execute a inferência exatamente como faria com qualquer outro formato da Ultralytics.

Link to this sectionFluxo de Trabalho Recomendado#

  1. Treine o seu modelo usando o Modo de Treinamento da Ultralytics ou comece a partir de um checkpoint pré-treinado.
  2. Exporte para o Ascend em qualquer host Linux com o CANN instalado, passando o argumento name correspondente ao seu SoC de destino.
  3. Copie o diretório do modelo exportado para o dispositivo Ascend.
  4. Implante usando o tempo de execução do CANN e o ais_bench para a inferência no dispositivo.

Link to this sectionAplicações do Mundo Real#

Modelos YOLO executados em hardware Ascend adequam-se a uma ampla gama de aplicações de visão embarcada e industrial:

  • Automação Industrial: Inspeção de qualidade em alta velocidade e detecção de defeitos em linhas de produção.
  • Vigilância Inteligente: Detecção de objetos em tempo real com múltiplas câmeras em gateways de borda, sem a necessidade de um servidor central.
  • Robótica: Percepção embarcada para robôs móveis autônomos e braços colaborativos.
  • Cidades Inteligentes: Monitoramento de tráfego e análise de pedestres em unidades de borda de baixo consumo.

Link to this sectionResumo#

Neste guia, você aprendeu como exportar modelos Ultralytics YOLO para o formato .om do Huawei Ascend usando o compilador CANN ATC. A exportação é executada inteiramente no host, produz um diretório de modelo autossuficiente e atende a qualquer SoC Ascend compatível por meio de um único argumento name — proporcionando um caminho direto de um checkpoint .pt treinado para a inferência em FP16 acelerada em Processadores de IA Ascend.

Para mais detalhes sobre o uso, acesse a documentação oficial do CANN.

Além disso, se você quiser saber mais sobre outras integrações do Ultralytics YOLO, visite nossa página do guia de integrações para encontrar diversos recursos úteis.

Link to this sectionFAQ#

Link to this sectionComo faço para exportar o meu modelo Ultralytics YOLO para o formato Ascend?#

Instale o Ultralytics e o kit de ferramentas CANN, carregue o ambiente CANN para que o atc fique no seu PATH e, em seguida, exporte com model.export(format="ascend", name="Ascend310B4") em Python ou com yolo export model=yolo26n.pt format=ascend name=Ascend310B4 a partir da CLI. Defina o parâmetro name para o SoC do seu dispositivo de implantação.

Link to this sectionEu preciso de hardware Ascend para exportar um modelo?#

Não. O compilador ATC é executado inteiramente no host, portanto a compilação funciona em uma máquina Linux x86-64 ou ARM64 padrão sem nenhuma NPU conectada. Você só precisa de hardware Ascend para executar a inferência no .om exportado.

Link to this sectionPor que a minha exportação falha com a mensagem "No supported Ops kernel and engine are found"?#

Sua instalação do CANN não possui kernels de operador para o SoC solicitado. Cada kit de ferramentas agrupa kernels para famílias de SoC específicas; portanto, instale o pacote Ascend-cann-kernels-<soc> correspondente ao seu destino ou utilize uma imagem de contêiner criada para essa família de dispositivos.

Link to this sectionPor que a exportação para o Ascend é compatível apenas com FP16?#

As convoluções do Ascend AI Core aceitam apenas tensores DT_FLOAT16 e DT_INT8. Um modelo offline em FP32 falharia ao executar no hardware, por isso o exportador compila com --precision_mode=force_fp16 e rejeita uma solicitação explícita de quantize=32.

Link to this sectionQuais dispositivos Ascend são suportados?#

Qualquer SoC para o qual o kit de ferramentas CANN instalado forneça kernels, selecionado através do argumento name. Consulte Dispositivos Compatíveis para ver os quatro destinos validados e sua disponibilidade na Ultralytics Platform.

Contribuidores

Comentários