Comparar
Keras frente a ONNX: guardar el entrenamiento o exportar inferencia
.keras guarda configuración, pesos y el estado del optimizador si existe en Keras. ONNX representa grafos de cálculo para entornos de ejecución compatibles.
¿Qué formato deberías elegir?
Considere .keras para recargar el modelo y continuar entrenando en Keras, u ONNX para ejecutar inferencia en otro entorno compatible.
Adecuado para Keras
Guardar configuración pesos y estado de entrenamiento disponible de un modelo Keras v3 en un archivo · Guardar y volver a cargar modelos en entornos Keras compatibles
- Guardar modelos construidos principalmente con capas Keras serializables
- Gestionar juntos configuración y pesos
Adecuado para ONNX
Intercambiar grafos computacionales y pesos de aprendizaje automático con runtimes compatibles · Trasladar modelos entre frameworks de entrenamiento y entornos de inferencia
- Inferencia con runtimes compatibles con los operadores y opset del modelo
- Intercambio de grafos con entradas salidas y tipos
Información básica
| Campo | Keras | ONNX |
|---|---|---|
| Extensión | .keras | .onnx |
| Tipo MIME | application/zip | application/octet-stream |
| Usos habituales | Guardar configuración pesos y estado de entrenamiento disponible de un modelo Keras v3 en un archivo · Guardar y volver a cargar modelos en entornos Keras compatibles | Intercambiar grafos computacionales y pesos de aprendizaje automático con runtimes compatibles · Trasladar modelos entre frameworks de entrenamiento y entornos de inferencia |
| Cómo abrir | Cárgalo con una versión compatible de Keras mediante `load_model`. Si usa capas u objetos personalizados, registra implementaciones confiables y normalmente conserva el modo seguro. Las herramientas ZIP pueden inspeccionar el archivo, pero editar el contenido extraído puede impedir la carga. | Cárgalo con un validador ONNX o runtime compatible. Antes de desplegar, revisa versiones IR y opset, operadores, tipos y formas de entrada/salida y soporte del runtime; compara las salidas con el modelo original usando entradas representativas. |
| Exportar o convertir | Guarda el modelo completo con Keras `save` o `saving.save_model`. Para entrega solo de inferencia, guardar `.keras` y `export` tienen objetivos distintos. Vuelve a cargarlo en el entorno de destino y verifica salidas representativas, pesos y cualquier estado de compilación u optimizador necesario. | Exporta con la herramienta ONNX del framework de origen y valida la estructura con ONNX checker. Una conversión correcta no garantiza equivalencia numérica ni ejecución en el dispositivo objetivo. Si hay datos externos, distribuye juntos el modelo y todos los archivos referenciados. |
Elegir según el uso
Guardar modelos construidos principalmente con capas Keras serializables
Guardar configuración pesos y estado de entrenamiento disponible de un modelo Keras v3 en un archivo · Guardar y volver a cargar modelos en entornos Keras compatibles
KerasGestionar juntos configuración y pesos
Guardar configuración pesos y estado de entrenamiento disponible de un modelo Keras v3 en un archivo · Guardar y volver a cargar modelos en entornos Keras compatibles
KerasInferencia con runtimes compatibles con los operadores y opset del modelo
Intercambiar grafos computacionales y pesos de aprendizaje automático con runtimes compatibles · Trasladar modelos entre frameworks de entrenamiento y entornos de inferencia
ONNXIntercambio de grafos con entradas salidas y tipos
Intercambiar grafos computacionales y pesos de aprendizaje automático con runtimes compatibles · Trasladar modelos entre frameworks de entrenamiento y entornos de inferencia
ONNXPunto clave 1
Keras save conserva configuración y estado; las implementaciones de objetos personalizados pueden necesitarse aparte.
Más sobre las diferenciasPunto clave 2
ONNX incluye entradas y salidas tipadas, un grafo de cálculo e información de opset; requiere un entorno compatible.
Más sobre las diferenciasMás sobre las diferencias
Guardar .keras y exportar ONNX son operaciones distintas. Verifique versión de Keras, backend y operaciones admitidas, conservando .keras y el código dependiente al crear el artefacto de inferencia.
- La API oficial de exportación de Keras admite ONNX como salida. Registre tipos de entrada, dimensiones y opset, y compruebe que el entorno de destino implementa todas las operaciones.
- Compare salidas con el origen usando el mismo preprocesamiento y entradas representativas; registre tolerancias y dispositivo. La validación estructural de ONNX no garantiza coincidencia numérica, velocidad ni conservación del estado de entrenamiento de Keras.
Preguntas frecuentes
¿Puedo borrar .keras y reanudar el entrenamiento desde ONNX?
No lo dé por hecho. Una exportación para inferencia no garantiza reconstruir el guardado de Keras con optimizador y objetos personalizados. Conserve .keras, código y detalles del entorno.