本文整理汇总了Java中cc.mallet.grmm.inference.Inferencer类的典型用法代码示例。如果您正苦于以下问题:Java Inferencer类的具体用法?Java Inferencer怎么用?Java Inferencer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Inferencer类属于cc.mallet.grmm.inference包,在下文中一共展示了Inferencer类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createInferencer
import cc.mallet.grmm.inference.Inferencer; //导入依赖的package包/类
private static Inferencer createInferencer (String spec) throws EvalError
{
String cmd;
if (spec.indexOf ('(') >= 0) {
// assume it's Java code, and don't screw with it.
cmd = spec;
} else {
cmd = "new "+spec+"()";
}
// Return whatever the Java code says to
Object inf = interpreter.eval (cmd);
if (inf instanceof Inferencer)
return (Inferencer) inf;
else throw new RuntimeException ("Don't know what to do with inferencer "+inf);
}
示例2: testBadVariable
import cc.mallet.grmm.inference.Inferencer; //导入依赖的package包/类
public void testBadVariable ()
{
FactorGraph fg = createBoltzmannChain (5);
Assignment assn = fg.sampleContinuousVars (new Randoms (23423));
FactorGraph sliced = (FactorGraph) fg.slice (assn);
Inferencer bp = new TRP ();
bp.computeMarginals (sliced);
try {
bp.lookupMarginal (new Variable (2));
fail ("Expected exception");
} catch (IllegalArgumentException e) {
// expected
System.out.println ("OK: As expected, got exception "+e);
}
}
示例3: reportTrainingLikelihood
import cc.mallet.grmm.inference.Inferencer; //导入依赖的package包/类
public static void reportTrainingLikelihood (ACRF acrf, InstanceList trainingList)
{
double total = 0;
Inferencer inf = acrf.getInferencer ();
for (int i = 0; i < trainingList.size (); i++) {
Instance inst = trainingList.get (i);
ACRF.UnrolledGraph unrolled = acrf.unroll (inst);
inf.computeMarginals (unrolled);
double lik = inf.lookupLogJoint (unrolled.getAssignment ());
total += lik;
logger.info ("...instance "+i+" likelihood = "+lik);
}
logger.info ("Unregularized joint likelihood = "+total);
}
示例4: bestAssignment
import cc.mallet.grmm.inference.Inferencer; //导入依赖的package包/类
/**
* Returns the highest-score Assignment in a model according to a given inferencer.
* @param mdl Factor graph to use
* @param inf Inferencer to use. No need to call <tt>computeMarginals</tt> first.
* @return An Assignment
*/
public static Assignment bestAssignment (FactorGraph mdl, Inferencer inf)
{
inf.computeMarginals (mdl);
int[] outcomes = new int [mdl.numVariables ()];
for (int i = 0; i < outcomes.length; i++) {
Variable var = mdl.get (i);
int best = inf.lookupMarginal (var).argmax ();
outcomes[i] = best;
}
return new Assignment (mdl, outcomes);
}