我使用MALLET进行主题建模。
http://mallet.cs.umass.edu/topics.php
首先,我尝试按照指令导入培训文档集。
bin/mallet import-dir --input /data/topic-input --output topic-input.mallet --keep-sequence --remove-stopwords我总是得到OutOfMemoryError,尽管我根据下面的页面更改了"bin/mallet.bat"。Mallet topic modelling
我设定了set MALLET_MEMORY=32G。
我的数据集大小是30 is。
计算机内存就足够了。
我得到以下错误。
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOfRange(Arrays.java:3658)
at java.lang.String.<init>(String.java:201)
at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:909)
at java.lang.StringBuffer.subSequence(StringBuffer.java:473)
at cc.mallet.extract.StringSpan.constructTokenText(StringSpan.java:49)
at cc.mallet.extract.StringSpan.<init>(StringSpan.java:33)
at cc.mallet.pipe.CharSequence2TokenSequence.pipe(CharSequence2TokenSequence.java:68)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:294)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:282)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:290)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:282)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:290)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:282)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:290)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:282)
at cc.mallet.types.InstanceList.addThruPipe(InstanceList.java:267)
at cc.mallet.classify.tui.Text2Vectors.main(Text2Vectors.java:312)
$ bin/mallet import-dir --input ../Text --output topic-input.mallet --keep-sequence --remove-stopwords
Labels =
../Text
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Arrays.java:3658)
at java.lang.String.<init>(String.java:201)
at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:909)
at java.lang.StringBuffer.subSequence(StringBuffer.java:473)
at cc.mallet.extract.StringSpan.constructTokenText(StringSpan.java:49)
at cc.mallet.extract.StringSpan.<init>(StringSpan.java:33)
at cc.mallet.pipe.CharSequence2TokenSequence.pipe(CharSequence2TokenSequence.java:68)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:294)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:282)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:290)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:282)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:290)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:282)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:290)
at cc.mallet.pipe.Pipe$SimplePipeInstanceIterator.next(Pipe.java:282)
at cc.mallet.types.InstanceList.addThruPipe(InstanceList.java:267)
at cc.mallet.classify.tui.Text2Vectors.main(Text2Vectors.java:312)我怎样才能解决这个问题?谢谢。
发布于 2015-12-14 06:20:18
您可以增加mallet使用的内存。你的木槌主目录在哪里?在mallet的主目录中有bin目录。在bin目录中,在文本编辑器中打开mallet文件,并将"MEMORY“设置为上值。“内存”的默认值是1g。您可以将其设置为4g。
https://stackoverflow.com/questions/24664979
复制相似问题