public CRFOptimizableByLabelLikelihood getOptimizableCRF (InstanceList trainingSet) { if (cachedWeightsStructureStamp != crf.weightsStructureChangeStamp) { if (!useNoWeights) { if (useSparseWeights) crf.setWeightsDimensionAsIn (trainingSet, useSomeUnsupportedTrick); else crf.setWeightsDimensionDensely (); } //reallocateSufficientStatistics(); // Not necessary here because it is done in the constructor for OptimizableCRF ocrf = null; cachedWeightsStructureStamp = crf.weightsStructureChangeStamp; } if (ocrf == null || ocrf.trainingSet != trainingSet) { //ocrf = new OptimizableCRF (crf, trainingSet); ocrf = new CRFOptimizableByLabelLikelihood(crf, trainingSet); ocrf.setGaussianPriorVariance(gaussianPriorVariance); ocrf.setHyperbolicPriorSharpness(hyperbolicPriorSharpness); ocrf.setHyperbolicPriorSlope(hyperbolicPriorSlope); ocrf.setUseHyperbolicPrior(usingHyperbolicPrior); opt = null; } return ocrf; }
public CRFOptimizableByLabelLikelihood getOptimizableCRF (InstanceList trainingSet) { if (cachedWeightsStructureStamp != crf.weightsStructureChangeStamp) { if (!useNoWeights) { if (useSparseWeights) crf.setWeightsDimensionAsIn (trainingSet, useSomeUnsupportedTrick); else crf.setWeightsDimensionDensely (); } //reallocateSufficientStatistics(); // Not necessary here because it is done in the constructor for OptimizableCRF ocrf = null; cachedWeightsStructureStamp = crf.weightsStructureChangeStamp; } if (ocrf == null || ocrf.trainingSet != trainingSet) { //ocrf = new OptimizableCRF (crf, trainingSet); ocrf = new CRFOptimizableByLabelLikelihood(crf, trainingSet); ocrf.setGaussianPriorVariance(gaussianPriorVariance); ocrf.setHyperbolicPriorSharpness(hyperbolicPriorSharpness); ocrf.setHyperbolicPriorSlope(hyperbolicPriorSlope); ocrf.setUseHyperbolicPrior(usingHyperbolicPrior); opt = null; } return ocrf; }
public CRFOptimizableByLabelLikelihood getOptimizableCRF(InstanceList trainingSet) { if (cachedWeightsStructureStamp != crf.weightsStructureChangeStamp) { if (!useNoWeights) { if (useSparseWeights) { crf.setWeightsDimensionAsIn(trainingSet, useSomeUnsupportedTrick); } else { crf.setWeightsDimensionDensely(); } } // reallocateSufficientStatistics(); // Not necessary here because it is done in the constructor for // OptimizableCRF ocrf = null; cachedWeightsStructureStamp = crf.weightsStructureChangeStamp; } if (ocrf == null || ocrf.trainingSet != trainingSet) { // ocrf = new OptimizableCRF (crf, trainingSet); ocrf = new CRFOptimizableByLabelLikelihood(crf, trainingSet); ocrf.setGaussianPriorVariance(gaussianPriorVariance); ocrf.setHyperbolicPriorSharpness(hyperbolicPriorSharpness); ocrf.setHyperbolicPriorSlope(hyperbolicPriorSlope); ocrf.setUseHyperbolicPrior(usingHyperbolicPrior); opt = null; } return ocrf; }