本文整理汇总了Java中cc.mallet.optimize.Optimizable.ByGradientValue类的典型用法代码示例。如果您正苦于以下问题:Java ByGradientValue类的具体用法?Java ByGradientValue怎么用?Java ByGradientValue使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ByGradientValue类属于cc.mallet.optimize.Optimizable包,在下文中一共展示了ByGradientValue类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: trainByValueGradients
import cc.mallet.optimize.Optimizable.ByGradientValue; //导入依赖的package包/类
/**
* http://code.google.com/p/sequence-labeler/source/browse/trunk/src/edu/jhu/nlp/sequence/classify/CRFSequenceLearner.java?spec=svn6&r=6
* @param crf
* @param trainingInstances
* @param testingInstances
*/
private void trainByValueGradients(CRF crf, InstanceList trainingInstances,
InstanceList testingInstances) {
CRFOptimizableByBatchLabelLikelihood batchOptLabel =
new CRFOptimizableByBatchLabelLikelihood(crf, trainingInstances, 1);
ThreadedOptimizable optLabel = new ThreadedOptimizable(
batchOptLabel, trainingInstances, crf.getParameters().getNumFactors(),
new CRFCacheStaleIndicator(crf));
// crf trainer
ByGradientValue[] opts =
new ByGradientValue[]{optLabel};
// by default, use L-BFGS as the optimizer
CRFTrainerByValueGradients crfTrainer =
new CRFTrainerByValueGradients(crf, opts);
//crfTrainer.setMaxResets(0);
// train till convergence
crfTrainer.train(trainingInstances, 999);
optLabel.shutdown();
//zuofeng's code
//save crf model
//refer: /cc/mallet.fst.tests/TestCRF.java
// Create a file to store the crf
File f = new File("model.crf");
//trainer.setUseSparseWeights(false);
try {
ObjectOutputStream oos = new ObjectOutputStream(
new FileOutputStream(f));
oos.writeObject(crf);
oos.close();
} catch (IOException e) {
System.err.println("Exception writing file: " + e);
}
//end of zuofeng's code
// parameters
}