public boolean train (ACRF acrf, InstanceList trainingList, InstanceList validationList, InstanceList testSet, ACRFEvaluator eval, int numIter, Optimizable.ByGradientValue macrf) { if (wrongWrongType == NO_WRONG_WRONG) { return super.train (acrf, trainingList, validationList, testSet, eval, numIter, macrf); } else { Maxable bipwMaxable = (Maxable) macrf; // add wrong wrongs after 5 iterations logger.info ("BiconditionalPiecewiseACRFTrainer: Initial training"); super.train (acrf, trainingList, validationList, testSet, eval, wrongWrongIter, macrf); FileUtils.writeGzippedObject (new File (outputPrefix, "initial-acrf.ser.gz"), acrf); logger.info ("BiconditionalPiecewiseACRFTrainer: Adding wrong-wrongs"); bipwMaxable.addWrongWrong (trainingList); logger.info ("BiconditionalPiecewiseACRFTrainer: Adding wrong-wrongs"); boolean converged = super.train (acrf, trainingList, validationList, testSet, eval, numIter, macrf); reportTrainingLikelihood (acrf, trainingList); return converged; } }
public boolean train (ACRF acrf, InstanceList trainingList, InstanceList validationList, InstanceList testSet, ACRFEvaluator eval, int numIter, Optimizable.ByGradientValue macrf) { if (wrongWrongType == NO_WRONG_WRONG) { return super.train (acrf, trainingList, validationList, testSet, eval, numIter, macrf); } else { Maxable bipwMaxable = (Maxable) macrf; // add wrong wrongs after 5 iterations logger.info ("BiconditionalPiecewiseACRFTrainer: Initial training"); super.train (acrf, trainingList, validationList, testSet, eval, wrongWrongIter, macrf); FileUtils.writeGzippedObject (new File (outputPrefix, "initial-acrf.ser.gz"), acrf); logger.info ("BiconditionalPiecewiseACRFTrainer: Adding wrong-wrongs"); bipwMaxable.addWrongWrong (trainingList); logger.info ("BiconditionalPiecewiseACRFTrainer: Adding wrong-wrongs"); boolean converged = super.train (acrf, trainingList, validationList, testSet, eval, numIter, macrf); reportTrainingLikelihood (acrf, trainingList); return converged; } }
public boolean train (ACRF acrf, InstanceList trainingList, InstanceList validationList, InstanceList testSet, ACRFEvaluator eval, int numIter, Optimizable.ByGradientValue macrf) { if (wrongWrongType == NO_WRONG_WRONG) { return super.train (acrf, trainingList, validationList, testSet, eval, numIter, macrf); } else { Maxable bipwMaxable = (Maxable) macrf; // add wrong wrongs after 5 iterations logger.info ("BiconditionalPiecewiseACRFTrainer: Initial training"); super.train (acrf, trainingList, validationList, testSet, eval, wrongWrongIter, macrf); FileUtils.writeGzippedObject (new File (outputPrefix, "initial-acrf.ser.gz"), acrf); logger.info ("BiconditionalPiecewiseACRFTrainer: Adding wrong-wrongs"); bipwMaxable.addWrongWrong (trainingList); logger.info ("BiconditionalPiecewiseACRFTrainer: Adding wrong-wrongs"); boolean converged = super.train (acrf, trainingList, validationList, testSet, eval, numIter, macrf); reportTrainingLikelihood (acrf, trainingList); return converged; } }