private void copyStatesAndWeightsFrom (CRF initialCRF) { this.parameters = new Factors (initialCRF.parameters, true); // This will copy all the transition weights this.parameters.weightAlphabet = (Alphabet) initialCRF.parameters.weightAlphabet.clone(); //weightAlphabet = (Alphabet) initialCRF.weightAlphabet.clone (); //weights = new SparseVector [initialCRF.weights.length]; states.clear (); // Clear these, because they will be filled by this.addState() this.parameters.initialWeights = new double[0]; this.parameters.finalWeights = new double[0]; for (int i = 0; i < initialCRF.states.size(); i++) { State s = (State) initialCRF.getState (i); String[][] weightNames = new String[s.weightsIndices.length][]; for (int j = 0; j < weightNames.length; j++) { int[] thisW = s.weightsIndices[j]; weightNames[j] = (String[]) initialCRF.parameters.weightAlphabet.lookupObjects(thisW, new String [s.weightsIndices[j].length]); } addState (s.name, initialCRF.parameters.initialWeights[i], initialCRF.parameters.finalWeights[i], s.destinationNames, s.labels, weightNames); } featureSelections = initialCRF.featureSelections.clone (); // yyy weightsFrozen = (boolean[]) initialCRF.weightsFrozen.clone(); }
private void copyStatesAndWeightsFrom (CRF initialCRF) { this.parameters = new Factors (initialCRF.parameters, true); // This will copy all the transition weights this.parameters.weightAlphabet = (Alphabet) initialCRF.parameters.weightAlphabet.clone(); //weightAlphabet = (Alphabet) initialCRF.weightAlphabet.clone (); //weights = new SparseVector [initialCRF.weights.length]; states.clear (); // Clear these, because they will be filled by this.addState() this.parameters.initialWeights = new double[0]; this.parameters.finalWeights = new double[0]; for (int i = 0; i < initialCRF.states.size(); i++) { State s = (State) initialCRF.getState (i); String[][] weightNames = new String[s.weightsIndices.length][]; for (int j = 0; j < weightNames.length; j++) { int[] thisW = s.weightsIndices[j]; weightNames[j] = (String[]) initialCRF.parameters.weightAlphabet.lookupObjects(thisW, new String [s.weightsIndices[j].length]); } addState (s.name, initialCRF.parameters.initialWeights[i], initialCRF.parameters.finalWeights[i], s.destinationNames, s.labels, weightNames); } featureSelections = initialCRF.featureSelections.clone (); // yyy weightsFrozen = (boolean[]) initialCRF.weightsFrozen.clone(); }
private void copyStatesAndWeightsFrom (CRF initialCRF) { this.parameters = new Factors (initialCRF.parameters, true); // This will copy all the transition weights this.parameters.weightAlphabet = (Alphabet) initialCRF.parameters.weightAlphabet.clone(); //weightAlphabet = (Alphabet) initialCRF.weightAlphabet.clone (); //weights = new SparseVector [initialCRF.weights.length]; states.clear (); // Clear these, because they will be filled by this.addState() this.parameters.initialWeights = new double[0]; this.parameters.finalWeights = new double[0]; for (int i = 0; i < initialCRF.states.size(); i++) { State s = (State) initialCRF.getState (i); String[][] weightNames = new String[s.weightsIndices.length][]; for (int j = 0; j < weightNames.length; j++) { int[] thisW = s.weightsIndices[j]; weightNames[j] = (String[]) initialCRF.parameters.weightAlphabet.lookupObjects(thisW, new String [s.weightsIndices[j].length]); } addState (s.name, initialCRF.parameters.initialWeights[i], initialCRF.parameters.finalWeights[i], s.destinationNames, s.labels, weightNames); } featureSelections = initialCRF.featureSelections.clone (); // yyy weightsFrozen = (boolean[]) initialCRF.weightsFrozen.clone(); }