为什么fbprophet模型的pickle文件在硬盘上需要这么多内存?
why does pickle file of fbprophet model need so much memory on hard drive?
创建了一个简单的 fbprophet 模型
我用航空旅客数据创建了一个简单的 fbprophet 模型:
import pandas as pd
import pickle
from fbprophet import Prophet
import sys
df = pd.read_csv("airline-passengers.csv")
# preprocess columns as fbprophet expects it
df.rename(columns={"Month": "ds", "Passengers": "y"}, inplace=True)
df["ds"] = pd.to_datetime(df["ds"])
m = Prophet()
m.fit(df)
但是,当我保存对象时 m
:
with open("p_model", "wb") as f:
pickle.dump(m, f)
我的硬盘需要 >1 MB 的内存。对象 m
本身似乎很小,因为 sys.getsizeof(m)
returns 56
.
为什么 pickle 文件这么大?是否有合适的替代方法来保存对象供以后重用?提前致谢。
我认为它也会腌制训练数据,所以尽量不要保存 model.history 应该没问题。
感谢@Kohelet 的link,我找到了解决方案,就是stan_backend
属性:
m.stan_backend = None
这将硬盘驱动器上的文件大小减少到大约 18 KB。
我仍然想知道为什么在调用时不可见 sys.sizeof(m)
我用航空旅客数据创建了一个简单的 fbprophet 模型:
import pandas as pd
import pickle
from fbprophet import Prophet
import sys
df = pd.read_csv("airline-passengers.csv")
# preprocess columns as fbprophet expects it
df.rename(columns={"Month": "ds", "Passengers": "y"}, inplace=True)
df["ds"] = pd.to_datetime(df["ds"])
m = Prophet()
m.fit(df)
但是,当我保存对象时 m
:
with open("p_model", "wb") as f:
pickle.dump(m, f)
我的硬盘需要 >1 MB 的内存。对象 m
本身似乎很小,因为 sys.getsizeof(m)
returns 56
.
为什么 pickle 文件这么大?是否有合适的替代方法来保存对象供以后重用?提前致谢。
我认为它也会腌制训练数据,所以尽量不要保存 model.history 应该没问题。
感谢@Kohelet 的link,我找到了解决方案,就是stan_backend
属性:
m.stan_backend = None
这将硬盘驱动器上的文件大小减少到大约 18 KB。
我仍然想知道为什么在调用时不可见 sys.sizeof(m)