Enregistrer et charger l'objet de modèle

Après avoir exécuté le modèle, nous vous recommandons d'enregistrer l'objet de modèle pour une utilisation ultérieure. Cela vous permet d'éviter les exécutions de modèles répétitives, ce qui vous fait gagner du temps ainsi que des ressources de calcul. Une fois l'objet de modèle enregistré, il peut être chargé ultérieurement pour poursuivre l'analyse ou les visualisations sans avoir à exécuter à nouveau le modèle.

Utiliser le module pickle de Python

Enregistrer l'objet de modèle

Exécutez la commande suivante pour enregistrer l'objet de modèle :

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

Où :

  • PATH est le chemin d'accès au fichier.
  • FILENAME est le nom du fichier. Il doit comporter l'extension PKL.

Charger l'objet de modèle

Exécutez la commande suivante pour charger le modèle enregistré :

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

Où :

  • PATH est le chemin d'accès au fichier.
  • FILENAME est le nom du fichier. Il doit comporter l'extension PKL.

Utiliser le package serde de Meridian

Le package serde de Meridian permet de sérialiser et de désérialiser les objets de modèle Meridian dans des fichiers Protocol Buffers (Protobuf). Le format (binaire ou texte) est déterminé par l'extension de fichier spécifiée dans le nom de fichier.

Exemples de formats :

  • Protobuf binaire (.binpb) : enregistré au format de communication compact Protobuf (idéal pour l'échange et le stockage de données binaires)
  • Protobuf texte (.txtpb ou .textproto) : enregistré dans une représentation textuelle lisible par l'humain (idéal pour le débogage)

Enregistrer l'objet de modèle

Exécutez la commande suivante pour enregistrer l'objet de modèle :

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"

Charger l'objet de modèle

Exécutez la commande suivante pour charger l'objet de modèle :

from meridian.schema.serde import meridian_serde

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