Descubra como ONNX aprimora a portabilidade e a interoperabilidade do modelo de IA, permitindo a implantação perfeita dos modelos Ultralytics YOLO em diversas plataformas.
A Open Neural Network ExchangeONNX) é uma norma de código aberto concebida para representar modelos de modelos de aprendizagem automática (ML) de uma forma que garante a portabilidade entre diferentes estruturas e hardware. Originalmente desenvolvido por empresas como Microsoft e o Facebook, ONNX funciona como um "tradutor universal" para a IA. Permite aos programadores treinar um modelo num ecossistema, como o PyTorche implantá-lo sem problemas em outro, como o TensorFlow ou um motor de motor de inferência especializado. Esta interoperabilidade elimina a necessidade de reconstruir ou treinar novamente as redes quando se passa de ambientes de investigação para aplicações de produção, simplificando significativamente o de implantação de modelos.
No seu núcleo, ONNX define um conjunto comum de operadores - os blocos de construção dos modelos de aprendizagem profunda (DL) e modelos de aprendizagem automática - e um formato de ficheiro padrão. Quando um modelo é convertido para ONNX, a sua estrutura computacional é mapeada para um gráfico de computação estático. Neste gráfico, os nós representam operações matemáticas operações matemáticas (como convoluções ou funções de ativação) e as arestas representam o fluxo de tensores de dados entre eles.
Como esta representação gráfica é normalizada, os fabricantes de hardware podem criar fornecedores de execução optimizados para
ONNX. Isto significa que um único .onnx pode ser acelerado em diversos tipos de hardware, incluindo um
CPU,
GPU (Unidade de processamento gráfico), ou
especializado
TPU Tensor Unidade de ProcessamentoTensor )frequentemente
utilizando a tecnologia de alto desempenho Tempo de execução ONNX.
Para os utilizadores do ultralytics a conversão de um modelo treinado para o formato ONNX é um processo simples
simples. A biblioteca trata automaticamente do complexo mapeamento de camadas para o padrão ONNX . O seguinte trecho de código
a seguir demonstra como exportar um modelo YOLO11 modelo, preparando-o
para uma implantação mais alargada.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format
# This creates 'yolo11n.onnx' in the current directory
model.export(format="onnx")
A flexibilidade do ONNX torna-o um componente crítico na infraestrutura moderna de IA, particularmente para tarefas de visão computacional (CV).
Compreender a forma como ONNX interage com outras ferramentas ajuda a selecionar a estratégia de implementação correta.
.pt ou
Keras's .h5 são excelentes para treinar e poupar
pesos do modelo nos seus ecossistemas específicos.
No entanto, exigem frequentemente a instalação do quadro original para executar o modelo. ONNX separa o modelo da
da estrutura de treinamento, facilitando a execução de
IA de ponta implantações em que a instalação de uma biblioteca
é impraticável devido a restrições de armazenamento ou de memória.