Exporte para ONNX para obter portabilidade
Transfira um modelo entre diferentes estruturas e ambientes de execução.
Exporte para ONNX para obter portabilidade é uma aula grátis de MLOps Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de MLOps Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de MLOps Academy inclui 4 aulas no total.
O problema da portabilidade
Você treinou com PyTorch, mas quer disponibilizar o modelo em C++ ou no navegador. Um arquivo preso a uma estrutura torna isso difícil. O ONNX resolve o problema. 🌍
O que é ONNX
ONNX é um formato aberto e compartilhado para modelos. Ele descreve a matemática como um grafo que muitas estruturas e mecanismos de execução conseguem ler.
Um grafo de operadores
Internamente, um modelo ONNX é um grafo de operadores padrão, como MatMul e Relu, além dos pesos aprendidos.
Treine uma vez, execute em qualquer lugar
Exporte uma vez e o mesmo arquivo será executado em servidores, dispositivos móveis e dispositivos de borda por diferentes mecanismos de execução, sem necessidade de novo treinamento.
Exporte do PyTorch
O PyTorch inclui um exportador. Você fornece o modelo e uma entrada de exemplo para torch.onnx.export, permitindo que ele rastreie o grafo.
import torch
torch.onnx.export(model, sample, 'model.onnx')Por que uma entrada de exemplo?
O exportador executa o modelo com o exemplo para registrar quais operações são acionadas. Essa execução rastreada se torna o grafo que ele salva.
Converta do sklearn
Para scikit-learn, use a biblioteca skl2onnx. Você fornece o modelo e o formato da entrada para produzir um grafo ONNX.
from skl2onnx import to_onnx
onx = to_onnx(model, X[:1])Execute com o ONNX Runtime
O ONNX Runtime é um mecanismo rápido e multiplataforma. Você carrega o arquivo .onnx em uma sessão e chama run para obter previsões.
import onnxruntime as ort
sess = ort.InferenceSession('model.onnx')Velocidade e hardware
O ONNX Runtime pode usar provedores de execução, como CUDA ou TensorRT, para acelerar o mesmo modelo em diferentes hardwares. ⚡
Versões do Opset
Cada exportação tem como destino uma versão de opset que define os operadores disponíveis. Compatibilize-a com o que seu mecanismo de execução aceita, ou o carregamento falhará.
Sempre verifique as saídas
Depois da exportação, execute os dois modelos com a mesma entrada e compare-os. Confirme que o resultado do ONNX corresponde ao original antes de disponibilizá-lo. ✅
Verificação rápida
Vamos verificar o quanto você entende de ONNX.
Recapitulação
Você pode exportar modelos para ONNX, executá-los com o ONNX Runtime em qualquer hardware, prestar atenção ao opset e sempre verificar se as saídas correspondem. 🎉
Perguntas Frequentes
A aula “Exporte para ONNX para obter portabilidade” é grátis?
Sim — o texto completo de “Exporte para ONNX para obter portabilidade” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de MLOps Academy, atualize para CoddyKit PRO. O curso de MLOps Academy inclui 4 aulas no total.
O que vou aprender em “Exporte para ONNX para obter portabilidade”?
Transfira um modelo entre diferentes estruturas e ambientes de execução. Você pratica MLOps Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar MLOps Academy?
Nenhuma experiência prévia é necessária. MLOps Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Exporte para ONNX para obter portabilidade”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de MLOps Academy?
Sim. Cada aula de MLOps Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Serialize com Pickle e Joblib
- O formato de modelo do MLflow
- Exporte para ONNX para obter portabilidade
- Defina a assinatura e o esquema de um modelo