如何在Python中持久化类的实例

时间:2014-09-20 18:16:23

标签: python python-3.x object-persistence

有没有办法在Python的内存或文件系统中保存类的实例?我可以使用shelve吗?

以下行是this tutorial的一部分,需要很长时间才能执行,我需要将其缓存以供下次程序执行。

clf = MultinomialNB().fit(X_train_counts, training_data['targets'])

clf的类型:

>>> type(clf)
<class 'sklearn.naive_bayes.MultinomialNB'>

1 个答案:

答案 0 :(得分:2)

是的,您可以使用shelve来保存类的实例。 shelve为您提供了一个字典界面,使该过程相对透明。

在下面,shelve使用pickle library;如果shelve API不能满足您的需求,您可以直接进入该模块。

scikit-learn明确支持pickle,请参阅Model persistence

  

在训练了scikit-learn模型之后,最好有一种方法来保持模型以备将来使用而无需重新训练。以下部分为您提供了如何使用pickle持久保存模型的示例。