Я пытаюсь обучить пользовательскую модель NER распознавать 41 объект (в обучающем наборе около 6000 строк)
Когда я пытаюсь запустить обучающую команду, предоставленную на сайте nlp :
java -cp stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop austen.prop
Это ошибка, с которой я сталкиваюсь:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at edu.stanford.nlp.optimization.AbstractCachingDiffFunction.ensure(AbstractCachingDiffFunction.java:136)
at edu.stanford.nlp.optimization.AbstractCachingDiffFunction.derivativeAt(AbstractCachingDiffFunction.java:151)
at edu.stanford.nlp.optimization.QNMinimizer.evaluateFunction(QNMinimizer.java:1150)
at edu.stanford.nlp.optimization.QNMinimizer.minimize(QNMinimizer.java:898)
at edu.stanford.nlp.optimization.QNMinimizer.minimize(QNMinimizer.java:856)
at edu.stanford.nlp.optimization.QNMinimizer.minimize(QNMinimizer.java:850)
at edu.stanford.nlp.optimization.QNMinimizer.minimize(QNMinimizer.java:93)
at edu.stanford.nlp.ie.crf.CRFClassifier.trainWeights(CRFClassifier.java:1935)
at edu.stanford.nlp.ie.crf.CRFClassifier.train(CRFClassifier.java:1742)
at edu.stanford.nlp.ie.AbstractSequenceClassifier.train(AbstractSequenceClassifier.java:785)
at edu.stanford.nlp.ie.AbstractSequenceClassifier.train(AbstractSequenceClassifier.java:756)
at edu.stanford.nlp.ie.crf.CRFClassifier.main(CRFClassifier.java:3011)
Я попытался добавить -Xmx4096m к моей команде java, чтобы указать максимальное пространство кучи как 4 ГБ (это максимальное доступное пространство на моей машине), но все равно не повезло.
Я также попытался добавить -Xms1024m, чтобы указать минимальное пространство кучи, но результат не изменился.
Эта же команда работала без ошибок, без ошибок пространства кучи, когда я пытался обучить модель для 20 объектов (1500 строк)
Это пространство кучи связано с ОЗУ или доступным пространством?
Должен ли я попробовать обучение на машине с большим количеством памяти или хранилища?