Comparar
Keras vs ONNX: salvar treinamento ou exportar inferência
.keras salva configuração, pesos e o estado do otimizador, quando existente, no Keras. ONNX representa grafos de computação para runtimes compatíveis.
Qual formato você deve escolher?
Considere .keras para recarregar o modelo e continuar o treinamento no Keras, ou ONNX para inferência em outro runtime compatível.
Indicado para Keras
Salvar configuração pesos e estado de treinamento disponível de um modelo Keras v3 em um arquivo · Salvar e recarregar modelos em ambientes Keras compatíveis
- Salvar modelos compostos principalmente por camadas Keras serializáveis
- Gerenciar configuração e pesos juntos
Indicado para ONNX
Trocar grafos computacionais e pesos de aprendizado de máquina com runtimes compatíveis · Levar modelos entre frameworks de treinamento e ambientes de inferência
- Inferência em runtimes que aceitam os operadores e opset do modelo
- Trocar um grafo com entradas saídas e tipos
Informações básicas
| Campo | Keras | ONNX |
|---|---|---|
| Extensão | .keras | .onnx |
| Tipo MIME | application/zip | application/octet-stream |
| Usos comuns | Salvar configuração pesos e estado de treinamento disponível de um modelo Keras v3 em um arquivo · Salvar e recarregar modelos em ambientes Keras compatíveis | Trocar grafos computacionais e pesos de aprendizado de máquina com runtimes compatíveis · Levar modelos entre frameworks de treinamento e ambientes de inferência |
| Como abrir | Carregue com uma versão compatível do Keras usando `load_model`. Para camadas ou objetos personalizados, registre implementações confiáveis e normalmente mantenha o modo seguro ativo. Ferramentas ZIP podem inspecionar o arquivo, mas editar o conteúdo extraído pode impedir o carregamento. | Carregue em um validador ONNX ou runtime compatível. Antes de implantar, confira versões IR e opset, operadores, tipos e formas de entrada/saída e suporte do runtime; compare saídas com o modelo de origem usando entradas representativas. |
| Exportar ou converter | Salve o modelo completo com Keras `save` ou `saving.save_model`. Para entrega apenas de inferência, salvar `.keras` e `export` têm objetivos diferentes. Recarregue no ambiente de destino e valide saídas representativas, pesos e qualquer estado de compilação ou otimizador necessário. | Exporte pelo conversor ONNX do framework de origem e valide a estrutura com ONNX checker. Conversão bem-sucedida não garante equivalência numérica nem execução no dispositivo alvo. Se houver dados externos, mantenha o modelo e todos os arquivos referenciados juntos na distribuição. |
Escolha por finalidade
Salvar modelos compostos principalmente por camadas Keras serializáveis
Salvar configuração pesos e estado de treinamento disponível de um modelo Keras v3 em um arquivo · Salvar e recarregar modelos em ambientes Keras compatíveis
KerasGerenciar configuração e pesos juntos
Salvar configuração pesos e estado de treinamento disponível de um modelo Keras v3 em um arquivo · Salvar e recarregar modelos em ambientes Keras compatíveis
KerasInferência em runtimes que aceitam os operadores e opset do modelo
Trocar grafos computacionais e pesos de aprendizado de máquina com runtimes compatíveis · Levar modelos entre frameworks de treinamento e ambientes de inferência
ONNXTrocar um grafo com entradas saídas e tipos
Trocar grafos computacionais e pesos de aprendizado de máquina com runtimes compatíveis · Levar modelos entre frameworks de treinamento e ambientes de inferência
ONNXPonto principal 1
Keras save preserva configuração e estado; implementações de objetos personalizados podem ser necessárias separadamente.
Mais sobre as diferençasPonto principal 2
ONNX inclui entradas e saídas tipadas, grafo de computação e informações de opset; a execução requer um runtime compatível.
Mais sobre as diferençasMais sobre as diferenças
Salvar .keras e exportar ONNX são operações distintas. Verifique versão do Keras, backend e operações aceitas, preservando .keras e código dependente ao criar o artefato de inferência.
- A API oficial de exportação do Keras aceita ONNX como saída. Registre tipos e dimensões das entradas e o opset escolhido; confira se o runtime de destino implementa todas as operações.
- Compare saídas com a origem usando pré-processamento idêntico e entradas representativas; documente tolerâncias e dispositivo. Verificações estruturais de ONNX não garantem equivalência numérica, velocidade nem preservação do estado de treinamento do Keras.
Perguntas frequentes
Posso apagar .keras e retomar o treinamento a partir de ONNX?
Não presuma isso. Uma exportação de inferência não garante reconstruir o salvamento do Keras com otimizador e objetos personalizados. Guarde .keras, código necessário e informações do ambiente.