Comparer
Keras ou ONNX : sauvegarde d’entraînement et export d’inférence
.keras sauvegarde dans Keras la configuration, les poids et l’état de l’optimiseur s’il existe. ONNX représente des graphes de calcul pour des environnements d’exécution compatibles.
Quel format choisir ?
Envisagez .keras pour recharger un modèle et poursuivre l’entraînement dans Keras, ou ONNX pour l’inférence dans un autre environnement compatible.
Adapté pour Keras
Enregistrer configuration poids et état d'entraînement disponible d'un modèle Keras v3 dans une archive · Sauvegarder et recharger des modèles dans des environnements Keras compatibles
- Modèles principalement constitués de couches Keras sérialisables
- Gérer ensemble configuration et poids
Adapté pour ONNX
Échanger graphes de calcul et poids ML avec des runtimes compatibles · Transférer des modèles entre frameworks d’entraînement et environnements d’inférence
- Inférence sur un runtime compatible avec les opérateurs et l’opset du modèle
- Échange d’un graphe incluant entrées sorties et types
Informations générales
| Élément | Keras | ONNX |
|---|---|---|
| Extension | .keras | .onnx |
| Type MIME | application/zip | application/octet-stream |
| Usages courants | Enregistrer configuration poids et état d'entraînement disponible d'un modèle Keras v3 dans une archive · Sauvegarder et recharger des modèles dans des environnements Keras compatibles | Échanger graphes de calcul et poids ML avec des runtimes compatibles · Transférer des modèles entre frameworks d’entraînement et environnements d’inférence |
| Comment ouvrir | Chargez avec une version compatible de Keras via `load_model`. Pour les couches ou objets personnalisés, enregistrez des implémentations fiables et gardez normalement le safe mode activé. Des outils ZIP peuvent inspecter l'archive, mais modifier les éléments extraits peut empêcher le chargement. | Chargez-le avec ONNX checker ou un runtime d’inférence compatible. Avant déploiement, vérifiez versions IR/opset, opérateurs, types et formes d’entrée/sortie et support du runtime ; comparez les sorties au modèle source sur des entrées représentatives. |
| Exporter ou convertir | Enregistrez le modèle entier avec Keras `save` ou `saving.save_model`. Pour une distribution destinée uniquement à l'inférence, sauvegarder en `.keras` et `export` ont des objectifs différents. Rechargez dans l'environnement cible et vérifiez sorties représentatives, poids et état de compilation ou d'optimiseur nécessaire. | Exportez avec l’exporteur ONNX du framework source puis validez la structure avec ONNX checker. Une conversion réussie ne garantit ni équivalence numérique ni exécution sur l’appareil cible. Avec des données externes, conservez le modèle et tous les fichiers référencés dans le même lot de distribution. |
Choisir selon l’usage
Modèles principalement constitués de couches Keras sérialisables
Enregistrer configuration poids et état d'entraînement disponible d'un modèle Keras v3 dans une archive · Sauvegarder et recharger des modèles dans des environnements Keras compatibles
KerasGérer ensemble configuration et poids
Enregistrer configuration poids et état d'entraînement disponible d'un modèle Keras v3 dans une archive · Sauvegarder et recharger des modèles dans des environnements Keras compatibles
KerasInférence sur un runtime compatible avec les opérateurs et l’opset du modèle
Échanger graphes de calcul et poids ML avec des runtimes compatibles · Transférer des modèles entre frameworks d’entraînement et environnements d’inférence
ONNXÉchange d’un graphe incluant entrées sorties et types
Échanger graphes de calcul et poids ML avec des runtimes compatibles · Transférer des modèles entre frameworks d’entraînement et environnements d’inférence
ONNXPoint clé 1
Keras save conserve configuration et état ; les implémentations d’objets personnalisés peuvent être nécessaires séparément.
En savoir plus sur les différencesPoint clé 2
ONNX inclut des entrées et sorties typées, un graphe de calcul et des informations d’opset ; un environnement compatible est nécessaire.
En savoir plus sur les différencesEn savoir plus sur les différences
La sauvegarde .keras et l’export ONNX sont distincts. Vérifiez version de Keras, backend et opérations prises en charge, en conservant .keras et le code dépendant lors de la création de l’artefact d’inférence.
- L’API officielle d’export Keras accepte ONNX comme format de sortie. Consignez types et formes des entrées et opset choisi ; vérifiez que l’environnement cible implémente toutes les opérations.
- Comparez les sorties au modèle source avec le même prétraitement et des entrées représentatives, en documentant tolérances et appareil. La vérification structurelle ONNX ne garantit ni concordance numérique, ni vitesse, ni conservation de l’état d’entraînement Keras.
Questions fréquentes
Puis-je supprimer .keras et reprendre l’entraînement depuis ONNX ?
Ne le présumez pas. Un export d’inférence ne garantit pas la reconstruction de la sauvegarde Keras avec optimiseur et objets personnalisés. Gardez .keras, le code requis et les informations d’environnement.