我在我的代码中创建一个像这样的管道
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import SGDClassifier
from sklearn.pipeline import Pipeline
pipe = Pipeline(steps = [
('tfidf',TfidfVectorizer(max_df=0.5, min_df=10)),
('clf', SGDClassifier(loss='log', n_jobs=-1)),
])
当我开始在我的数据(大约1.4M的句子)上安装这个管道时,我看到使用的RAM快速且大量增加。
在此之后,我的内核变得死了。我想,这是因为应用TfidfVectorizer后的稀疏矩阵已转换为密集矩阵。但是SGDClassifier与稀疏矩阵一起工作,不是吗?
为什么会发生这种情况以及在这种情况下我能做些什么?
我的版本: ( python 2.7, sklearn 0.18.1, scipy 0.18.1, numpy 1.12.0 )
答案 0 :(得分:0)
我犯了错误,这段代码运行良好而没有内存泄漏。