Opennlp OutOfMemoryError:16GB RAM的Java堆空间

时间:2018-06-15 21:18:21

标签: out-of-memory heap-memory sentiment-analysis

我正在尝试使用Java进行推特情绪分析并获得160万行traningset,每行包含0或1和twitter文本。 .csv大约250 MB。

我使用OpenNLP进行分析,并尝试像这样训练我的模型:

InputStream dataIn = new 
FileInputStream("secret_path_to_my.csv");
ObjectStream lineStream = new PlainTextByLineStream(dataIn, "UTF-8");
ObjectStream sampleStream = new DocumentSampleStream(lineStream);
int cutoff = 2;
int trainingIterations = 3;
model = DocumentCategorizerME.train("en", sampleStream, cutoff, trainingIterations);

不幸的是,这就是我得到的:
排序和合并事件......完成。将1599474个事件减少到1579730.
完成索引。
纳入索引数据用于培训......
完成。
活动代币数量:1579730
结果数:495970
谓词数:281447
线程" main"中的例外情况java.lang.OutOfMemoryError:Java堆空间

我已经在Eclipse中运行了我的运行配置,并在VM部分输入了以下内容:" -Xmx16g"因为我的笔记本电脑有16GB RAM。 不幸的是,在程序崩溃之前,这只会让我多花几秒钟,抛出同样的错误。

请帮助我找到问题所在。我不确定,是否减少训练集是唯一的选择,或者我是否犯了其他错误。提前谢谢!

0 个答案:

没有答案