Python 如何减少spaCy柠檬化的内存使用?

Python 如何减少spaCy柠檬化的内存使用?,python,memory,nlp,spacy,lemmatization,Python,Memory,Nlp,Spacy,Lemmatization,我对spaCy比较陌生,我正在尝试为NLP项目标记化+柠檬化200 MB的文本 我首先尝试了nlp=spacy.load('en'),结果是内存错误 在做了一些研究之后,我尝试了nlp=spacy.blank('en')来消除不必要的功能,但它仍然占用了我全部16 GB的内存(最终导致MemoryError)。我觉得这太过分了 我可以做些什么来减少spaCy的内存使用,还是不可能?谢谢大家! 原始代码: nlp = spacy.blank('en') train['spacy_tokens']

我对spaCy比较陌生,我正在尝试为NLP项目标记化+柠檬化200 MB的文本

我首先尝试了
nlp=spacy.load('en')
,结果是
内存错误

在做了一些研究之后,我尝试了
nlp=spacy.blank('en')
来消除不必要的功能,但它仍然占用了我全部16 GB的内存(最终导致
MemoryError
)。我觉得这太过分了

我可以做些什么来减少spaCy的内存使用,还是不可能?谢谢大家!

原始代码:

nlp = spacy.blank('en')
train['spacy_tokens'] = train['text'].apply(lambda x: nlp(x))

def lemmatize(x):
    intermediate_lemmas = [token.lemma_.lower() for token in x
            if not token.is_punct]
    return [lemma for lemma in intermediate_lemmas
           if lemma not in stop_words
           and lemma != "-PRON-"
           and lemma != " "
           ]

train['lemmas'] = train['spacy_tokens'].apply(lambda x: lemmatize(x))
print(train.head())

200 MB应该不是问题,您可以发布原始错误消息吗?加上你运行的代码?那似乎不对。在处理数据负载时,内存消耗可能成为spaCy的一个问题。但是仅仅运行一次
spacy.load('en')
应该不是问题,也不应该消耗那么多内存。尝试重新安装spacy和型号(最好在新的venv中)。