保存scikit-learn分类器导致内存错误



我的机器有16G内存,训练程序使用的内存高达2.6G。但是当我想要将分类器(使用来自大型数据集的sklearn.svm.SVC进行训练)保存为pickle文件时,它会消耗太多的内存,而我的机器无法提供。渴望知道任何保存分类器的替代方法。

我试过:

  • picklecPickle
  • 转储为wwb
  • Set fast = True

两者都不起作用,总是抛出MemoryError。偶尔文件被保存,但加载它会导致ValueError: insecure string pickle .

提前感谢!

更新

谢谢大家。我没有尝试joblib,它在设置protocol=2后工作。

我建议使用sci-kit learn中的核心外分类器。这些都是批处理学习算法,将模型输出存储为压缩稀疏矩阵,并且非常省时。

首先,下面的链接确实帮助了我。

http://scikit-learn.org/stable/auto_examples/applications/plot_out_of_core_classification.html

最新更新