gensim에서 만든 fasttext 모델을 바이너리 파일로 내보내려고합니다. 그러나 문서는 이것을 달성하는 방법에 대해 명확하지 않습니다. 지금까지 내가 한 일 :
model.wv.save_word2vec_format('model.bin')
그러나 이것은 최선의 해결책이 아닌 것 같습니다. 나중에 다음을 사용하여 모델을로드하고 싶을 때부터 :
fasttext.load_facebook_model('model.bin')
나는 무한 루프에 들어간다. 로드하는 동안 함수에 fasttext.model
의해 생성 된 model.save('fasttext.model)
것은 약 30 초 안에 완료됩니다.
를 사용 .save_word2vec_format()
하면 전체 단어 벡터 만 Google의 원래 word2vec.c
릴리스 에서 사용 된 간단한 형식으로 저장됩니다 . 전체 FastText 모델에 대한 고유 한 것을 저장하지 않습니다. 이러한 파일은 일치하는 .load_word2vec_format()
.
이 .load_facebook_format()
메서드는 Facebook의 원래 (비 Python) FastText 코드 릴리스에서 저장 한 형식으로 파일을로드합니다. ( '페이스 북'은 특정 데이터 형식 이외의 다른 많은 것을 의미 할 수 있기 때문에이 방법의 이름은 상당히 잘못되었습니다.) Gensim은 동일한 형식으로 저장하는 데 일치하는 방법이 없습니다. 구현하기가 매우 어렵고이 내보내기 옵션을 지원하는 대칭적인 의미가 있습니다.
Gensim의 모델은 일반적으로 Python 'pickle'직렬화와 원시 대형 배열 파일을 혼합하여 사용하는 gensim 네이티브 .save()
및 .load()
옵션을 구현 합니다. 나중에 Gensim으로 다시로드하기 위해 전체 모델 상태를 저장하려는 경우 가장 좋은 옵션입니다.
(이러한 파일은 다른 FastText 구현에서로드 할 수 없습니다.)
.save()
저장된 모델을 새 위치로 이동할 때 이것에 의해 작성된 여러 관련 파일 (모두 동일한 사용자 제공 접두사 포함)을 함께 보관하십시오.
업데이트 (2020 년 5 월) :gensim
3.8.3 이상과 같은 최신 버전 에는 FastText.save_facebook_model()
원래 Facebook FastTExt 바이너리 형식으로 저장 하는 새로운 기여 방법이 포함되어 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다