本文整理汇总了Java中cc.mallet.optimize.OptimizationException类的典型用法代码示例。如果您正苦于以下问题:Java OptimizationException类的具体用法?Java OptimizationException怎么用?Java OptimizationException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OptimizationException类属于cc.mallet.optimize包,在下文中一共展示了OptimizationException类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: trainModel
import cc.mallet.optimize.OptimizationException; //导入依赖的package包/类
public Transducer trainModel(InstanceList trainingData, String options) {
TransducerTrainer trainer = createTrainer(trainingData, info, options);
Parms parms = new Parms(options,"i:iterations:i","V:verbose:b");
boolean verbose = (boolean)parms.getValueOrElse("verbose", false);
int iters = (int) parms.getValueOrElse("iterations", 0);
if(iters==0) iters = Integer.MAX_VALUE;
try {
trainer.train(trainingData, iters);
} catch(OptimizationException ex) {
System.err.println("Encountered an OptimizationException during training (CONTINUING!): "+ex.getMessage());
ex.printStackTrace(System.err);
System.err.println("We ignore this exception and try to use the model so far ...");
}
if(verbose)
trainer.getTransducer().print();
Transducer td = trainer.getTransducer();
return td;
}
示例2: train
import cc.mallet.optimize.OptimizationException; //导入依赖的package包/类
/**
* Trains a CRF until convergence or specified number of iterations, whichever is earlier.
* <p>
* Also creates an optimizable CRF and an optmizer if required.
*/
public boolean train (InstanceList trainingSet, int numIterations) {
if (numIterations <= 0)
return false;
assert (trainingSet.size() > 0);
getOptimizableCRF(trainingSet); // This will set this.mcrf if necessary
getOptimizer(trainingSet); // This will set this.opt if necessary
int numResets = 0;
boolean converged = false;
logger.info ("CRF about to train with "+numIterations+" iterations");
for (int i = 0; i < numIterations; i++) {
try {
// gsc: timing each iteration
long startTime = System.currentTimeMillis();
converged = opt.optimize (1);
logger.info ("CRF finished one iteration of maximizer, i="+i+", "+
+(System.currentTimeMillis()-startTime)/1000 + " secs.");
iterationCount++;
runEvaluators();
} catch (OptimizationException e) {
// gsc: resetting the optimizer for specified number of times
e.printStackTrace();
logger.info ("Catching exception.");
if (numResets < maxResets) {
// reset the optimizer and get a new one
logger.info("Resetting optimizer.");
++numResets;
opt = null;
getOptimizer(trainingSet);
// logger.info ("Catching exception; saying converged.");
// converged = true;
} else {
logger.info("Saying converged.");
converged = true;
}
}
if (converged) {
logger.info ("CRF training has converged, i="+i);
break;
}
}
return converged;
}