Python 如何减少spaCy柠檬化的内存使用?
我对spaCy比较陌生,我正在尝试为NLP项目标记化+柠檬化200 MB的文本 我首先尝试了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']
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中)。