Hello,

   Okay, I found why my toy worked.  I call 
AbstractEventTrainer.doTrain(DataIndexer) as oppose to 
AbstractEventTrainer.train(ObjectStream<Event>).   The train method calls 
isValid(). That sets the value of threads in QNTrainer.

   Thank you for making me do this.  I don’t think doTrain() should be exposed 
anymore.  A new method train(DataIndexer) that calls isValid and then 
doTrain(indexer) is probably a better idea.  Is it important to calculate the 
hash of all events?

Daniel


On 10/27/16, 11:49 AM, "Russ, Daniel (NIH/CIT) [E]" <dr...@mail.nih.gov> wrote:

    Comment 1:
    Here is my Stacktrace:
    
    Exception in thread "main" java.lang.IllegalArgumentException: Number of 
threads must 1 or larger
        at 
opennlp.tools.ml.maxent.quasinewton.ParallelNegLogLikelihood.<init>(ParallelNegLogLikelihood.java:50)
        at 
opennlp.tools.ml.maxent.quasinewton.QNTrainer.trainModel(QNTrainer.java:165)
        at 
opennlp.tools.ml.maxent.quasinewton.QNTrainer.doTrain(QNTrainer.java:152)
        at 
opennlp.tools.ml.maxent.quasinewton.QNTrainer.doTrain(QNTrainer.java:1)
        at gov.nih.cit.test.smlm.SOCcerME.train(SOCcerME.java:131)
        at gov.nih.cit.test.smlm.SOCcerME.main(SOCcerME.java:310)
    
    So I threw together a small toy to get the same error.  It worked…  Let me 
track this down some more.

Reply via email to