2016-06-09 2 views
0

스파크 버전 : 1.6.1스파크 ML Word2Vec 직렬화 문제

는 최근 DataFrame 기반 ml의 모델로 이동합니다 우리의 Word2Vec 코드를 리팩토링, 그러나 나는 직렬화 및 로컬 모델을로드에 문제가 있습니다.

내가 할 수 성공적입니다 :

  1. 가 dataframe를 장착하고 모델을 만들 수 있습니다.
  2. 동의어를 검색하십시오.

모델을 로컬로 직렬화하려고하면 벡터가 직렬화되지 않으므로 파일 크기가 10GB의 데이터에 대해 약 2K입니다. findSynonyms()를 아래 예외 함수 결과 모델을 로딩 및 호출에

 FileOutputStream fo = new FileOutputStream("/tmp/word2vec"); 
     ObjectOutputStream so = new ObjectOutputStream(fo); 
     so.writeObject(word2VecModel); 
     so.flush(); 
     so.close(); 
     logger.info("Word2Vec model saved"); 

:

java.lang.NullPointerException이 org.apache.spark.ml.feature.Word2VecModel.transform에서 (Word2Vec.scala : 224)

모델을 로컬로 저장하는 방법이 있습니까?

+0

/tmp/word2vec 디렉토리가 이미 있습니까? – xyzzy

+0

예 dir/tmp가 있고 word2vec는 model 파일의 이름입니다. – skgemini

답변

0

Model Persistence functionality을 (를) 지금 바로 사용 하시겠습니까? 개별 모델, 전체 파이프 라인 등을 저장할 수도 있습니다.