我使用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文件应该可以快速加载,但有没有办法加快速度?我可以将整个事物编译成二进制可执行文件吗?
答案 0 :(得分:4)
如果您担心加载时间,可以使用Binary operator > cannot be applied to two Float operands
和joblib.dump
,在scikit-learn的情况下,它们比pickle更有效。
有关完整(非常简单)的示例,请参阅the docs或ogrisel的相关答案: Save classifier to disk in scikit-learn