执行模型运行作业后,我们建议保存模型对象,以供将来使用。这有助于避免重复运行模型,节省时间和计算资源。保存模型对象后,可在后续阶段加载该对象,继续进行分析或进行可视化处理,而无需重新运行相应模型。
使用 Python pickle
保存模型对象
运行以下命令,以保存模型对象:
file_path = f'{PATH}/{FILENAME}.pkl'
model.save_mmm(mmm, file_path)
其中:
PATH表示路径,用于指示文件的位置。FILENAME是文件的名称。文件扩展名必须为 PKL。
加载模型对象
运行以下命令,以加载已保存的模型:
file_path = f'{PATH}/{FILENAME}.pkl'
mmm = model.load_mmm(file_path)
其中:
PATH表示路径,用于指示文件的位置。FILENAME是文件的名称。文件扩展名必须为 PKL。
使用 Meridian serde 软件包
Meridian serde 软件包支持将 Meridian 模型对象序列化和反序列化为 Protocol Buffers (protobuf) 文件。格式(二进制或文本)由文件名中指定的文件扩展名决定。
格式包括:
- 二进制 Protobuf (
.binpb) - 以紧凑的 protobuf 传输格式保存。非常适合二进制传输和存储。 - 文本 Protobuf(
.txtpb或.textproto)- 以人类可读的文本表示形式保存。非常适合用于调试。
保存模型对象
运行以下命令,以保存模型对象:
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"
加载模型对象
运行以下命令,以加载模型对象:
from meridian.schema.serde import meridian_serde
mmm = meridian_serde.load_meridian("model.binpb") # or "model.txtpb"