2017-01-18 5 views
0

나는 Gensim Support 포럼에서도 Google에 대한 연구를했지만 좋은 답변을 찾을 수 없습니다.Gensim Segmentation Fault

기본적으로,

내 샘플 코드에서 봐 주시기 바랍니다 내가 Gensim를 사용 Doc2Vec을위한 온라인 학습을 구현하고 있지만, Gensim 나에게 분할

"라는 임의의 오류를 던지는 유지

다음
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 

누군가가 나에게 설명 할 이유는 무엇입니까? 그리고이 문제를 해결하는 방법?

,

감사합니다

답변

0

세그먼트 화 오류, 즉 불법적 인 메모리 액세스는 Python 코드에서 트리거하는 것이 거의 불가능합니다. 이는 설치/구성과 관련된 문제 (OS, Python, gensim, support-libraries)가 손상된 파일 일 수도 있음을 나타냅니다.

(NumPy와 및 SciPy 같은) 파이썬 환경 & 지원 라이브러리를 다시 설치 &을 삭제하고, 예제의 일부는 분할 오류없이 gensim 실행에 번들 것을 확인하십시오 - docs/notebooks/doc2vec-lee.ipynb의 예처럼 노트북을. 번들 된 예제 나 자신의 코드로 이러한 결함이 계속 발생하는 경우 디버그 로깅을 켜고 모든 출력을 캡처하고 OS/Python/gensim/etc 버전의 전체 세부 사항을보고하여 문제를보고하십시오.

+0

OS, Python 또는 gensim에 문제가 있는지 어떻게 알 수 있습니까? 나는 Docker를 Python과 함께 사용하고있다 :이 코드를 실행하기위한 3 이미지 (내 질문 참조). –

+0

이것들은 디버깅하기가 매우 어렵습니다. 그러나 최신 버전의 것들이 있으면 매우 드뭅니다. Docker 이미지의 OS/버전은 무엇입니까? 신선한 시작 (또는 모든 주요 패키지 제거/다시 설치)이 변경 되었습니까? gensim에서 예제를 실행하여 작동하는지 확인 했습니까? 이러한 단계를 수행하면 문제를 줄이는 방법이 있습니다. – gojomo