我使用scikit-learn训练了一个预测模型,并使用pickle
保存到硬盘。pickle
文件大小为58M,相当大。
为了使用这个模型,我写了这样的东西:
def loadModel(pkl_fn):
with open(pkl_fn, 'r') as f:
return pickle.load(f)
if __name__ == "__main__":
import sys
feature_vals = read_features(sys.argv[1])
model = loadModel("./model.pkl")
# predict
# model.predict(feature_vals)
我想知道在命令行中多次运行程序的效率。
Pickle文件应该是快速加载,但有任何方法,甚至加快?我可以将整个编译成二进制可执行文件吗?
如果您担心加载时间,您可以使用joblib.dump
和joblib.load
,它们在scikit-learn的情况下比pickle更有效。
一个完整的(非常简单的)例子,请参阅文档或ogrisel的相关回答:在scikit-learn中保存分类器到磁盘