2017-01-31 10 views
-1

2012年の試行データ(http://conll.cemantix.org/2012/data.html)を使用して統計的な共参照解決システムをトレーニングしようとしました。 私はそれを医療データのために訓練したがっていました。しかし、私は、統計的なコアレリファレンスパイプラインを理解するために、2012年の試験データをinorderから開始しました。 2MB(eng_0012.conll、eng_0014.conll)未満のサイズの ".conll"ファイルを2つだけ取り出しました。これらの2つのファイルには合計8つのトレーニング文書が含まれています。Stanford nlp-Coreferenceの解像度 - "java.lang.OutOfMemoryError:Java heap space"

以下のリンクをクリックしてモデルを作成しました。
http://stanfordnlp.github.io/CoreNLP/coref.html
(スタンフォード-corenlp-3.7.0.jar -cp javaの-Xmx60g:スタンフォード・英語・corenlp-モデル-3.7.0.jar:* edu.stanford.nlp.coref.statistical.StatisticalCorefTrainer -props)

ヒープサイズは60gと記載されています。私は60gのヒープサイズと15gのスワップメモリ​​と16個のコアプロセッサを使用しました。

しかし、モデルを構築する際に "java.lang.OutOfMemoryError:Java heap space"例外が発生しました。私は "EDU /スタンフォード/ NLP/coref /統計/ Clusterer.java" クラスの "doTraining" 方式で8から4への研修ドキュメントを減少

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 
    at java.util.Arrays.copyOf(Arrays.java:3181) 
    at java.util.ArrayList.grow(ArrayList.java:261) 
    at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:235) 
    at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:227) 
    at java.util.ArrayList.add(ArrayList.java:458) 
    at  edu.stanford.nlp.coref.statistical.Clusterer.getFeatures(Clusterer.java:661) 
    at edu.stanford.nlp.coref.statistical.Clusterer.access$700(Clusterer.java:27) 
    at edu.stanford.nlp.coref.statistical.Clusterer$State.getActions(Clusterer.java:460) 
    at edu.stanford.nlp.coref.statistical.Clusterer.runPolicy(Clusterer.java:225) 
    at edu.stanford.nlp.coref.statistical.Clusterer.doTraining(Clusterer.java:167) 
    at edu.stanford.nlp.coref.statistical.StatisticalCorefTrainer.doTraining(StatisticalCorefTrainer.java:127) 
    at edu.stanford.nlp.coref.statistical.StatisticalCorefTrainer.main(StatisticalCorefTrainer.java:146) 

は、それが正常に実行されました。

int count = 1; 
for (ClustererDoc trainDoc : trainDocs) { 
    if (count == 5) { 
     break; 
    } 
    count++; 
    examples.add(runPolicy(trainDoc, Math.pow(EXPERT_DECAY(iteration +1)))); 
} 

私もデータのごく少量(2 MB未満)

に必要な設定を与えた後、私はメモリ例外のこのアウトを取得しています理由を理解していない最適化する方法はありますメモリ使用量?

私がソースコードを調べると、demonyms.txt、gender.data.gz、inanimate.unigrams.txt、state-abbrevations.txtなどのファイルが見つかりました。 医療エンティティを指定するファイルを作成する必要がありますかより正確な精度を得るために医学領域を訓練するために?

答えて

0

ヒープスペースを超えているためです。

親切

-Xms512m -Xmx1152m -XX:MaxPermSize=256m -XX:MaxNewSize=256m 

一度あなたのIDEでこれらを調べます。 必要に応じてそれらを増やしてください。

+0

http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html –

+0

詳細はリンクを参照してください。 –

関連する問題