Glossário

ONNX (Intercâmbio aberto de redes neurais)

Descobre como o ONNX melhora a portabilidade e a interoperabilidade dos modelos de IA, permitindo uma implementação perfeita dos modelos Ultralytics YOLO em diversas plataformas.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

No domínio da inteligência artificial e da aprendizagem automática, a interoperabilidade é fundamental para tirar partido das melhores ferramentas e implementar modelos em diversos ambientes. ONNX (Open Neural Network Exchange) é um formato aberto criado para representar modelos de aprendizagem automática, garantindo que os programadores de IA não ficam presos a uma única estrutura e podem simplificar o processo de transferência de modelos entre diferentes ferramentas. Fornece uma representação unificada para modelos, independentemente da estrutura utilizada para a formação, tornando mais simples a implementação destes modelos em vários motores de inferência, plataformas de hardware e ambientes.

Relevância de ONNX

A principal relevância do ONNX reside na sua capacidade de promover a portabilidade e a interoperabilidade no ecossistema de IA. Ao definir um conjunto comum de operadores e um formato padrão para modelos de aprendizagem automática, ONNX permite que modelos treinados em estruturas como PyTorch ou TensorFlow sejam facilmente transferidos e executados utilizando diferentes motores de inferência, como TensorRT ou OpenVINO. Isto é particularmente benéfico para os programadores que utilizam modelos Ultralytics YOLO , uma vez que a exportação ONNX simplifica a implementação de modelos em várias plataformas, desde servidores em nuvem a dispositivos de ponta. Ultralytics facilita a exportação de YOLOv8 modelos para o formato ONNX , permitindo aos utilizadores tirar partido de motores de inferência optimizados para um melhor desempenho e uma inferência mais rápida em tempo real.

Aplicações de ONNX

ONNXtorna-o valioso em numerosas aplicações de IA. Dois exemplos concretos são:

  • Implantação de borda: A implantação de modelos de IA em dispositivos de borda geralmente requer desempenho otimizado e compatibilidade com hardware específico. ONNX permite que os desenvolvedores treinem um modelo usando uma estrutura de alto nível como PyTorch e, em seguida, exportem-no para ONNX para ser executado com eficiência em dispositivos de borda usando mecanismos de inferência como TensorRT em NVIDIA Jetson ou OpenVINO em dispositivos Intel . Isto garante que aplicações como câmaras inteligentes ou robótica podem executar tarefas de deteção de objectos com modelos Ultralytics YOLO eficazmente em tempo real.
  • Inferência entre plataformas: Em cenários em que as soluções de IA precisam de funcionar em diferentes sistemas operativos e hardware, o ONNX fornece um formato de modelo consistente. Por exemplo, uma aplicação de análise de imagens médicas pode ser treinada em servidores potentes, mas precisa de efetuar inferência em máquinas de menor potência em hospitais ou clínicas. ONNX permite a transição e execução contínuas do mesmo modelo em diversos ambientes, garantindo um desempenho consistente e fiável, independentemente da plataforma de implementação.

Conceitos relacionados

Compreender ONNX também envolve o reconhecimento de conceitos relacionados que desempenham um papel na implementação e otimização de modelos:

  • Motores de inferência: Estas são bibliotecas de software que optimizam e executam modelos de aprendizagem automática em hardware específico. Os modelos ONNX são frequentemente utilizados com motores de inferência como TensorRT e OpenVINO para acelerar a velocidade e a eficiência da inferência.
  • Modelo de exportação: O processo de conversão de um modelo treinado a partir do formato da sua estrutura original (por exemplo, PyTorch .pt ficheiros) para o formato ONNX . Ultralytics fornece ferramentas simples para exportação de modelos YOLO para ONNX e outros formatos.
  • Interoperabilidade de estruturas: ONNX aborda o desafio da dependência de estruturas, permitindo a utilização de modelos em diferentes estruturas. Embora cada estrutura tenha os seus pontos fortes, ONNX garante que os programadores podem escolher a melhor ferramenta para cada fase do ciclo de vida da IA sem barreiras de compatibilidade.

Ao adotar o ONNX, os programadores podem simplificar significativamente os seus fluxos de trabalho de IA, reduzir as complexidades de implementação e garantir que os seus modelos são versáteis e têm um bom desempenho numa vasta gama de aplicações e plataformas.

Lê tudo