Vergleichen
Keras oder ONNX: Trainingsspeicherung und Inferenzexport
.keras speichert Modellkonfiguration, Gewichte und vorhandenen Optimiererzustand in Keras. ONNX beschreibt Berechnungsgraphen für kompatible Laufzeitumgebungen.
Welches Format sollten Sie wählen?
Erwägen Sie .keras zum erneuten Laden und Weitertrainieren in Keras oder ONNX für Inferenz in einer anderen kompatiblen Laufzeitumgebung.
Geeignet für Keras
Konfiguration Gewichte und verfügbaren Trainingszustand eines Keras-v3-Modells gemeinsam speichern · Modelle in kompatiblen Keras-Umgebungen speichern und erneut laden
- Modelle überwiegend aus serialisierbaren Keras-Layern speichern
- Konfiguration und Gewichte gemeinsam verwalten
Geeignet für ONNX
Austausch von ML-Berechnungsgraphen und Gewichten mit unterstützten Laufzeiten · Übertragen von Modellen zwischen Trainingsframeworks und Inferenzumgebungen
- Inferenz mit Laufzeiten die Modelloperatoren und Opset unterstützen
- Austausch eines Graphmodells mit Ein und Ausgaben sowie Typen
Grundlegende Informationen
| Merkmal | Keras | ONNX |
|---|---|---|
| Dateiendung | .keras | .onnx |
| MIME-Typ | application/zip | application/octet-stream |
| Häufige Verwendung | Konfiguration Gewichte und verfügbaren Trainingszustand eines Keras-v3-Modells gemeinsam speichern · Modelle in kompatiblen Keras-Umgebungen speichern und erneut laden | Austausch von ML-Berechnungsgraphen und Gewichten mit unterstützten Laufzeiten · Übertragen von Modellen zwischen Trainingsframeworks und Inferenzumgebungen |
| Öffnen | Laden Sie die Datei mit einer kompatiblen Keras-Version über `load_model`. Bei eigenen Layern oder Objekten müssen vertrauenswürdige Implementierungen registriert sein; lassen Sie den safe mode normalerweise aktiviert. ZIP-Werkzeuge können das Archiv prüfen, aber Änderungen an extrahierten Inhalten können das Laden verhindern. | Laden Sie die Datei mit ONNX checker oder einer kompatiblen Inferenzlaufzeit. Prüfen Sie vor der Bereitstellung IR-/Opset-Versionen, Operatoren, Ein-/Ausgabetypen und shapes sowie Laufzeitunterstützung; vergleichen Sie die Ausgaben mit dem Quellmodell anhand repräsentativer Eingaben. |
| Exportieren oder konvertieren | Speichern Sie das vollständige Modell mit Keras `save` oder `saving.save_model`. Für reine Inferenzverteilung haben `.keras`-Speicherung und `export` unterschiedliche Zwecke. Laden Sie im Zielsystem erneut und prüfen Sie repräsentative Ausgaben, Gewichte sowie benötigte Compile- oder Optimizer-Zustände. | Exportieren Sie mit dem ONNX-Exporter des Quellframeworks und prüfen Sie die Struktur mit ONNX checker. Eine erfolgreiche Konvertierung garantiert weder numerische Gleichheit noch die Ausführung auf dem Zielgerät. Speichern Sie bei externen Daten das Modell und alle referenzierten Dateien zusammen. |
Nach Einsatzzweck wählen
Modelle überwiegend aus serialisierbaren Keras-Layern speichern
Konfiguration Gewichte und verfügbaren Trainingszustand eines Keras-v3-Modells gemeinsam speichern · Modelle in kompatiblen Keras-Umgebungen speichern und erneut laden
KerasKonfiguration und Gewichte gemeinsam verwalten
Konfiguration Gewichte und verfügbaren Trainingszustand eines Keras-v3-Modells gemeinsam speichern · Modelle in kompatiblen Keras-Umgebungen speichern und erneut laden
KerasInferenz mit Laufzeiten die Modelloperatoren und Opset unterstützen
Austausch von ML-Berechnungsgraphen und Gewichten mit unterstützten Laufzeiten · Übertragen von Modellen zwischen Trainingsframeworks und Inferenzumgebungen
ONNXAustausch eines Graphmodells mit Ein und Ausgaben sowie Typen
Austausch von ML-Berechnungsgraphen und Gewichten mit unterstützten Laufzeiten · Übertragen von Modellen zwischen Trainingsframeworks und Inferenzumgebungen
ONNXWichtiger Punkt 1
Keras save bewahrt Konfiguration und Zustand; Implementierungen benutzerdefinierter Objekte können separat erforderlich sein.
Unterschiede im DetailWichtiger Punkt 2
ONNX enthält typisierte Ein- und Ausgaben, einen Berechnungsgraphen und Opset-Informationen; die Ausführung benötigt eine kompatible Laufzeitumgebung.
Unterschiede im DetailUnterschiede im Detail
.keras-Speicherung und ONNX-Export sind getrennte Vorgänge. Prüfen Sie Keras-Version, Backend und unterstützte Operationen, und bewahren Sie .keras sowie abhängigen Code beim Erstellen des Inferenzartefakts auf.
- Die offizielle Keras-Export-API unterstützt ONNX als Ausgabeformat. Dokumentieren Sie Eingabetypen, Shapes und Opset; prüfen Sie die Unterstützung aller Operationen in der Ziellaufzeit.
- Vergleichen Sie Ausgaben mit dem Original anhand identischer Vorverarbeitung und repräsentativer Eingaben, einschließlich Toleranzen und Gerätebedingungen. ONNX-Strukturprüfungen garantieren weder numerische Übereinstimmung noch Geschwindigkeit oder Keras-Trainingszustand.
Häufige Fragen
Kann ich .keras löschen und mit ONNX weitertrainieren?
Setzen Sie das nicht voraus. Ein Inferenzexport rekonstruiert nicht garantiert die Keras-Speicherung einschließlich Optimiererzustand und benutzerdefinierter Objekte. Behalten Sie .keras, benötigten Code und Umgebungsdaten.