Python Gensim分段故障
我也在Gensim支持论坛上对谷歌进行了研究,但我找不到一个好的答案 基本上,我正在使用Gensim实现Doc2Vec的在线学习,但Gensim不断向我抛出一个称为“分段”的随机错误 请看一下我的示例代码Python Gensim分段故障,python,nlp,gensim,Python,Nlp,Gensim,我也在Gensim支持论坛上对谷歌进行了研究,但我找不到一个好的答案 基本上,我正在使用Gensim实现Doc2Vec的在线学习,但Gensim不断向我抛出一个称为“分段”的随机错误 请看一下我的示例代码 from gensim.models import Doc2Vec from gensim.models.doc2vec import LabeledSentence import random import logging if __name__ == "__main__": lo
from gensim.models import Doc2Vec
from gensim.models.doc2vec import LabeledSentence
import random
import logging
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO)
sentence1 = "this is a test"
sentence2 = "test test 123 test"
sentence3 = "qqq zzz"
sentence4 = "ppp"
sentences = [
LabeledSentence(sentence1.split(), ["p1"]),
LabeledSentence(sentence2.split(), ["p2"])
]
model = Doc2Vec(min_count=1, window=5, size=400, sample=1e-4, negative=5, workers=1)
model.build_vocab(sentences)
for a in range(2):
random.shuffle(sentences)
print([s.tags[0] for s in sentences])
model.train(sentences)
model.save("test.d2v")
new_model = Doc2Vec.load("test.d2v")
new_sentences = [
LabeledSentence(sentence1.split(), ["n1"]),
LabeledSentence(sentence3.split(), ["n2"])
]
new_model.build_vocab(new_sentences, update=True)
for a in range(4):
random.shuffle(new_sentences)
print([s.tags[0] for s in new_sentences])
new_model.train(new_sentences)
这是我的错误
INFO:gensim.models.word2vec:training model with 1 workers on 7 vocabulary and 400 features, using sg=0 hs=0 sample=0.0001 negative=5 window=5
INFO:gensim.models.word2vec:expecting 2 sentences, matching count from corpus used for vocabulary survey
Segmentation fault
谁能给我解释一下为什么?以及如何解决这个问题
感谢从Python代码中几乎不可能触发分段错误(即非法内存访问)。这表明这可能是特定于您的安装/配置的问题—操作系统、Python、gensim、支持库—甚至是损坏的文件
尝试清除并重新安装Python环境和支持库(如NumPy和SciPy),并确认与gensim捆绑的一些示例运行时没有分段错误,例如
docs/notebooks/doc2vec lee.ipynb中的笔记本。如果捆绑的示例或您自己的代码仍然存在此类错误,请打开调试日志记录,捕获所有输出,并报告问题的全部细节在您的OS/Python/gensim/etc版本上。如何知道我的OS、Python或gensim是否有问题?我正在使用Docker with Python:3映像运行该代码(请参阅我的问题)。这些代码很难调试,但也很少见,一旦您获得了正确的/最新版本。Docker映像中的OS/版本是什么?重新开始了吗(或卸载/重新安装所有主要软件包)进行任何更改?您是否尝试运行gensim中的示例以查看它们是否有效?采取这些步骤就是如何缩小问题的范围。