Modellobjekt speichern und laden

Nach dem Ausführen des Modells sollten Sie das Modellobjekt für die spätere Verwendung speichern. So können Sie Zeit und Ressourcen sparen, da Sie das Modell nicht immer wieder neu ausführen müssen. Das gespeicherte Modellobjekt kann später wieder geladen werden, um die Analysen oder Visualisierungen fortzusetzen, ohne das Modell noch einmal ausführen zu müssen.

Die Python-Bibliothek „pickle“ verwenden

Modellobjekt speichern

Führen Sie den folgenden Befehl aus, um das Modellobjekt zu speichern:

file_path = f'{PATH}/{FILENAME}.pkl'
model.save_mmm(mmm, file_path)

Dabei gilt:

  • PATH ist der Pfad zum Speicherort der Datei.
  • FILENAME ist der Name der Datei. Sie muss die Erweiterung PKL haben.

Modellobjekt laden

Führen Sie den folgenden Befehl aus, um das gespeicherte Modell zu laden:

file_path = f'{PATH}/{FILENAME}.pkl'
mmm = model.load_mmm(file_path)

Dabei gilt:

  • PATH ist der Pfad zum Speicherort der Datei.
  • FILENAME ist der Name der Datei. Sie muss die Dateiendung PKL haben.

Meridian-serde-Paket verwenden

Das Meridian-serde-Paket bietet Unterstützung für die Serialisierung und Deserialisierung von Meridian-Modellobjekten in Protokollzwischenspeicherdateien (protobuf). Das Format (binär oder Text) wird durch die Dateiendung im Dateinamen bestimmt.

Folgende Formate sind möglich:

  • Binärer Protobuf (.binpb): Wird im kompakten Protobuf-Wire-Format gespeichert. Ideal für das Übertragen und Speichern von Binärdaten.
  • Text-Protobuf (.txtpb oder .textproto): Wird in einer menschenlesbaren Textdarstellung gespeichert. Ideal für die Fehlerbehebung.

Modellobjekt speichern

Führen Sie den folgenden Befehl aus, um das Modellobjekt zu speichern:

from meridian.schema.serde import meridian_serde

mmm = model.Meridian(input_data=input_data, model_spec=model_spec)
meridian_serde.save_meridian(mmm, "model.binpb") # or "model.txtpb"

Modellobjekt laden

Führen Sie den folgenden Befehl aus, um das Modellobjekt zu laden:

from meridian.schema.serde import meridian_serde

mmm = meridian_serde.load_meridian("model.binpb") # or "model.txtpb"