Glossário

ONNX (Open Neural Network Exchange)

Descubra como o ONNX aprimora a portabilidade e a interoperabilidade do modelo de IA, permitindo a implantação perfeita dos modelos Ultralytics YOLO em diversas plataformas.

O ONNX (Open Neural Network Exchange) é um formato de código aberto para representar modelos de aprendizagem automática (ML). Co-desenvolvido por empresas como a Microsoft e o Facebook, o ONNX actua como um tradutor universal, permitindo aos programadores mover modelos entre diferentes estruturas e ferramentas de ML. Esta interoperabilidade é crucial para simplificar o percurso desde o desenvolvimento do modelo até à produção. Em vez de ficarem presas a um único ecossistema, as equipas podem treinar um modelo numa estrutura, como o PyTorch, e implementá-lo para inferência utilizando outra, como o TensorFlow ou um motor de inferência especializado. Os modelos YOLO do Ultralytics, por exemplo, podem ser facilmente exportados para o formato ONNX, proporcionando máxima flexibilidade para implantação em várias plataformas.

Como funciona o ONNX

O ONNX fornece uma definição padrão para um gráfico computacional, juntamente com uma lista de operadores incorporados. Quando se converte um modelo para o formato ONNX, a sua arquitetura - composta por camadas e operações matemáticas - é mapeada para esta norma universal. O resultado .onnx contém a estrutura da rede e os dados treinados pesos do modelo.

Este ficheiro normalizado pode então ser carregado por qualquer ferramenta que suporte a especificação ONNX. Isto inclui:

Aplicações reais do ONNX

A flexibilidade do ONNX torna-o inestimável em muitos cenários de visão computacional e ML.

  1. Implantação de IA em dispositivos de borda: Um programador pode treinar um modelo de deteção de objectos complexo, como o Ultralytics YOLO11, num computador de secretária potente com GPUs NVIDIA. Para que a aplicação seja executada num dispositivo periférico de baixo consumo, como um Raspberry Pi ou uma câmara inteligente utilizada na análise de retalho, o modelo é exportado para o ONNX. Pode então ser optimizado por um tempo de execução como o ONNX Runtime ou o OpenVINO para um desempenho eficiente no hardware de destino sem necessitar do ambiente PyTorch original.

  2. Integração de modelos em diversas aplicações: Considere uma empresa de cuidados de saúde que constrói um modelo de análise de imagens médicas utilizando Python e TensorFlow. A infraestrutura de software existente do hospital é construída com C# e .NET. Em vez de reescrever o modelo, a equipa exporta-o para ONNX. A aplicação C# pode então utilizar o ONNX Runtime for .NET para integrar diretamente as capacidades do modelo, reduzindo significativamente o tempo de desenvolvimento e a complexidade.

ONNX vs. Conceitos relacionados

É importante distinguir ONNX de termos relacionados:

  • Formatos específicos do quadro: Formatos como o do PyTorch .pt ou SavedModel do TensorFlow são nativos dos seus respectivos quadros. O ONNX actua como um intermediário, permitindo a conversão entre estes formatos ou a implementação através de um tempo de execução comum. TorchScript é outro formato para a serialização de modelos PyTorch, por vezes utilizado como alternativa ou precursor da exportação ONNX.
  • Motores de inferência/tempos de execução: Ferramentas como o ONNX Runtime, TensorRT e OpenVINO são bibliotecas de software concebidas para executar modelos de ML de forma eficiente. Muitos destes motores podem consumir modelos ONNX, aplicando frequentemente optimizações adicionais (como quantização ou fusão de gráficos) para alvos de hardware específicos. O ONNX fornece a entrada de modelo padronizada para estes motores.

Em resumo, o ONNX é um padrão vital para garantir flexibilidade e interoperabilidade no pipeline de operações de aprendizado de máquina (MLOps), permitindo que os desenvolvedores escolham as melhores ferramentas para treinamento e implantação sem serem restringidos por limitações de estrutura. Plataformas como o Ultralytics HUB aproveitam esses formatos para simplificar a jornada desde o desenvolvimento do modelo até a aplicação no mundo real. Para saber mais, visite o sítio Web oficial do ONNX e explore o projeto no GitHub.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Ligue-se, colabore e cresça com inovadores globais

Aderir agora
Ligação copiada para a área de transferência