@Override public int numStates() { return baseModel.numStates(); }
@Override public int numStates() { return baseModel.numStates(); }
@Override public int numStates() { return baseModel.numStates(); }
public int getNumParameters () { if (cachedNumParametersStamp != weightsStructureChangeStamp) { this.numParameters = 2 * this.numStates() + this.parameters.defaultWeights.length; for (int i = 0; i < parameters.weights.length; i++) numParameters += parameters.weights[i].numLocations(); } return this.numParameters; }
public int getNumParameters () { if (cachedNumParametersStamp != weightsStructureChangeStamp) { this.numParameters = 2 * this.numStates() + this.parameters.defaultWeights.length; for (int i = 0; i < parameters.weights.length; i++) numParameters += parameters.weights[i].numLocations(); } return this.numParameters; }
public int getNumParameters () { if (cachedNumParametersStamp != weightsStructureChangeStamp) { this.numParameters = 2 * this.numStates() + this.parameters.defaultWeights.length; for (int i = 0; i < parameters.weights.length; i++) numParameters += parameters.weights[i].numLocations(); } return this.numParameters; }
public double getParametersAbsNorm () { double ret = 0; for (int i = 0; i < numStates(); i++) { ret += Math.abs (parameters.initialWeights[i]); ret += Math.abs (parameters.finalWeights[i]); } for (int i = 0; i < parameters.weights.length; i++) { ret += Math.abs (parameters.defaultWeights[i]); ret += parameters.weights[i].absNorm(); } return ret; }
public double getParametersAbsNorm () { double ret = 0; for (int i = 0; i < numStates(); i++) { ret += Math.abs (parameters.initialWeights[i]); ret += Math.abs (parameters.finalWeights[i]); } for (int i = 0; i < parameters.weights.length; i++) { ret += Math.abs (parameters.defaultWeights[i]); ret += parameters.weights[i].absNorm(); } return ret; }
public double getParametersAbsNorm () { double ret = 0; for (int i = 0; i < numStates(); i++) { ret += Math.abs (parameters.initialWeights[i]); ret += Math.abs (parameters.finalWeights[i]); } for (int i = 0; i < parameters.weights.length; i++) { ret += Math.abs (parameters.defaultWeights[i]); ret += parameters.weights[i].absNorm(); } return ret; }
/** Construct a new Factors with the same structure as the parameters of 'crf', but with values initialized to zero. * This method is typically used to allocate storage for sufficient statistics, expectations, constraints, etc. */ public Factors (CRF crf) { // TODO Change this implementation to this(crf.parameters) weightAlphabet = crf.parameters.weightAlphabet; // TODO consider cloning this instead weights = new SparseVector[crf.parameters.weights.length]; for (int i = 0; i < weights.length; i++) weights[i] = (SparseVector) crf.parameters.weights[i].cloneMatrixZeroed(); defaultWeights = new double[crf.parameters.weights.length]; weightsFrozen = crf.parameters.weightsFrozen; assert (crf.numStates() == crf.parameters.initialWeights.length); assert (crf.parameters.initialWeights.length == crf.parameters.finalWeights.length); initialWeights = new double[crf.parameters.initialWeights.length]; finalWeights = new double[crf.parameters.finalWeights.length]; }
/** Construct a new Factors with the same structure as the parameters of 'crf', but with values initialized to zero. * This method is typically used to allocate storage for sufficient statistics, expectations, constraints, etc. */ public Factors (CRF crf) { // TODO Change this implementation to this(crf.parameters) weightAlphabet = crf.parameters.weightAlphabet; // TODO consider cloning this instead weights = new SparseVector[crf.parameters.weights.length]; for (int i = 0; i < weights.length; i++) weights[i] = (SparseVector) crf.parameters.weights[i].cloneMatrixZeroed(); defaultWeights = new double[crf.parameters.weights.length]; weightsFrozen = crf.parameters.weightsFrozen; assert (crf.numStates() == crf.parameters.initialWeights.length); assert (crf.parameters.initialWeights.length == crf.parameters.finalWeights.length); initialWeights = new double[crf.parameters.initialWeights.length]; finalWeights = new double[crf.parameters.finalWeights.length]; }
public void addStartState (String name) { for (int i = 0; i < numStates (); i++) parameters.initialWeights[i] = IMPOSSIBLE_WEIGHT; String[] dests = new String [numStates()]; for (int i = 0; i < dests.length; i++) dests[i] = getState(i).getName(); addState (name, 0, 0.0, dests, dests); // initialWeight of 0.0 }
public void addStartState (String name) { for (int i = 0; i < numStates (); i++) parameters.initialWeights[i] = IMPOSSIBLE_WEIGHT; String[] dests = new String [numStates()]; for (int i = 0; i < dests.length; i++) dests[i] = getState(i).getName(); addState (name, 0, 0.0, dests, dests); // initialWeight of 0.0 }
public void addStartState (String name) { for (int i = 0; i < numStates (); i++) parameters.initialWeights[i] = IMPOSSIBLE_WEIGHT; String[] dests = new String [numStates()]; for (int i = 0; i < dests.length; i++) dests[i] = getState(i).getName(); addState (name, 0, 0.0, dests, dests); // initialWeight of 0.0 }
public void setAsStartState (State state) { for (int i = 0; i < numStates(); i++) { Transducer.State other = getState (i); if (other == state) { other.setInitialWeight (0); } else { other.setInitialWeight (IMPOSSIBLE_WEIGHT); } } weightsValueChanged(); }
public void setAsStartState (State state) { for (int i = 0; i < numStates(); i++) { Transducer.State other = getState (i); if (other == state) { other.setInitialWeight (0); } else { other.setInitialWeight (IMPOSSIBLE_WEIGHT); } } weightsValueChanged(); }
public void setAsStartState (State state) { for (int i = 0; i < numStates(); i++) { Transducer.State other = getState (i); if (other == state) { other.setInitialWeight (0); } else { other.setInitialWeight (IMPOSSIBLE_WEIGHT); } } weightsValueChanged(); }
public static CRF getCRF(InstanceList training, int[] orders, String defaultLabel, String forbidden, String allowed, boolean connected) { Pattern forbiddenPat = Pattern.compile(forbidden); Pattern allowedPat = Pattern.compile(allowed); CRF crf = new CRF(training.getPipe(), (Pipe)null); String startName = crf.addOrderNStates(training, orders, null, defaultLabel, forbiddenPat, allowedPat, connected); for (int i = 0; i < crf.numStates(); i++) crf.getState(i).setInitialWeight (Transducer.IMPOSSIBLE_WEIGHT); crf.getState(startName).setInitialWeight(0.0); crf.setWeightsDimensionDensely(); return crf; }
public static CRF getCRF(InstanceList training, int[] orders, String defaultLabel, String forbidden, String allowed, boolean connected) { Pattern forbiddenPat = Pattern.compile(forbidden); Pattern allowedPat = Pattern.compile(allowed); CRF crf = new CRF(training.getPipe(), (Pipe)null); String startName = crf.addOrderNStates(training, orders, null, defaultLabel, forbiddenPat, allowedPat, connected); for (int i = 0; i < crf.numStates(); i++) crf.getState(i).setInitialWeight (Transducer.IMPOSSIBLE_WEIGHT); crf.getState(startName).setInitialWeight(0.0); crf.setWeightsDimensionDensely(); return crf; }
public static CRF getCRF(InstanceList training, int[] orders, String defaultLabel, String forbidden, String allowed, boolean connected) { Pattern forbiddenPat = Pattern.compile(forbidden); Pattern allowedPat = Pattern.compile(allowed); CRF crf = new CRF(training.getPipe(), (Pipe)null); String startName = crf.addOrderNStates(training, orders, null, defaultLabel, forbiddenPat, allowedPat, connected); for (int i = 0; i < crf.numStates(); i++) crf.getState(i).setInitialWeight (Transducer.IMPOSSIBLE_WEIGHT); crf.getState(startName).setInitialWeight(0.0); crf.setWeightsDimensionDensely(); return crf; }