/** * Add the specified properties. * * @param properties * The properties. */ public final void addProperties(final Map<String, String> properties) { for (final String key : properties.keySet()) { final String value = properties.get(key); this.writeProperty(key, value); } }
/** * Write a property as an activation function. * * @param name * The name of the property. * @param act * The activation function. */ public final void writeProperty(final String name, final ActivationFunction act) { writeProperty(name, makeActivationFunctionString(act)); }
/** * Write a property as an int array. * * @param name * The name of the property. * @param array * The array. */ public final void writeProperty(final String name, final int[] array) { final StringBuilder result = new StringBuilder(); NumberList.toListInt(CSVFormat.EG_FORMAT, result, array); writeProperty(name, result.toString()); }
/** * {@inheritDoc} */ @Override public void save(final OutputStream os, final Object obj) { final EncogWriteHelper out = new EncogWriteHelper(os); final ART1 art1 = (ART1) obj; out.addSection("ART1"); out.addSubSection("PARAMS"); out.addProperties(art1.getProperties()); out.addSubSection("NETWORK"); out.writeProperty(ART.PROPERTY_A1, art1.getA1()); out.writeProperty(ART.PROPERTY_B1, art1.getB1()); out.writeProperty(ART.PROPERTY_C1, art1.getC1()); out.writeProperty(ART.PROPERTY_D1, art1.getD1()); out.writeProperty(PersistConst.PROPERTY_F1_COUNT, art1.getF1Count()); out.writeProperty(PersistConst.PROPERTY_F2_COUNT, art1.getF2Count()); out.writeProperty(ART.PROPERTY_NO_WINNER, art1.getNoWinner()); out.writeProperty(ART.PROPERTY_L, art1.getL()); out.writeProperty(ART.PROPERTY_VIGILANCE, art1.getVigilance()); out.writeProperty(PersistConst.PROPERTY_WEIGHTS_F1_F2, art1.getWeightsF1toF2()); out.writeProperty(PersistConst.PROPERTY_WEIGHTS_F2_F1, art1.getWeightsF2toF1()); out.flush(); }
/** * {@inheritDoc} */ @Override public void save(final OutputStream os, final Object obj) { final EncogWriteHelper out = new EncogWriteHelper(os); final CPN cpn = (CPN) obj; out.addSection("CPN"); out.addSubSection("PARAMS"); out.addProperties(cpn.getProperties()); out.addSubSection("NETWORK"); out.writeProperty(PersistConst.INPUT_COUNT, cpn.getInputCount()); out.writeProperty(PersistConst.INSTAR, cpn.getInstarCount()); out.writeProperty(PersistConst.OUTPUT_COUNT, cpn.getOutputCount()); out.writeProperty(PersistCPN.PROPERTY_inputToInstar, cpn.getWeightsInputToInstar()); out.writeProperty(PersistCPN.PROPERTY_instarToInput, cpn.getWeightsInstarToOutstar()); out.writeProperty(PersistCPN.PROPERTY_winnerCount, cpn.getWinnerCount()); out.flush(); }
/** * Write a matrix as a property. * * @param name * The property name. * @param matrix * The matrix. */ public final void writeProperty(final String name, final Matrix matrix) { final StringBuilder result = new StringBuilder(); result.append(matrix.getRows()); result.append(','); result.append(matrix.getCols()); for (int row = 0; row < matrix.getRows(); row++) { for (int col = 0; col < matrix.getCols(); col++) { result.append(','); result.append(CSVFormat.EG_FORMAT.format(matrix.get(row, col), Encog.DEFAULT_PRECISION)); } } writeProperty(name, result.toString()); }
/** * {@inheritDoc} */ @Override public void save(final OutputStream os, final Object obj) { final EncogWriteHelper out = new EncogWriteHelper(os); final BoltzmannMachine boltz = (BoltzmannMachine) obj; out.addSection("BOLTZMANN"); out.addSubSection("PARAMS"); out.addProperties(boltz.getProperties()); out.addSubSection("NETWORK"); out.writeProperty(PersistConst.WEIGHTS, boltz.getWeights()); out.writeProperty(PersistConst.OUTPUT, boltz.getCurrentState() .getData()); out.writeProperty(PersistConst.NEURON_COUNT, boltz.getNeuronCount()); out.writeProperty(PersistConst.THRESHOLDS, boltz.getThreshold()); out.writeProperty(BoltzmannMachine.ANNEAL_CYCLES, boltz.getAnnealCycles()); out.writeProperty(BoltzmannMachine.RUN_CYCLES, boltz.getRunCycles()); out.writeProperty(PersistConst.TEMPERATURE, boltz.getTemperature()); out.flush(); }
/** * Save the config info. * * @param out * THe output file. */ private void saveConfig(final EncogWriteHelper out) { saveSubSection(out, "SETUP", "CONFIG"); out.addSubSection("FILENAMES"); final List<String> list = this.script.getProperties().getFilenames(); for (final String key : list) { final String value = this.script.getProperties().getFilename(key); final File f = new File(value); if ((f.getParent() != null) && f.getParent() .equalsIgnoreCase(this.script.getBasePath())) { out.writeProperty(key, f.getName()); } else { out.writeProperty(key, value); } } }
out.addProperties(svm2.getProperties()); out.addSubSection("SVM-PARAM"); out.writeProperty(PersistConst.INPUT_COUNT, svm2.getInputCount()); out.writeProperty(PersistSVM.PARAM_C, svm2.getParams().C); out.writeProperty(PersistSVM.PARAM_CACHE_SIZE, svm2.getParams().cache_size); out.writeProperty(PersistSVM.PARAM_COEF0, svm2.getParams().coef0); out.writeProperty(PersistSVM.PARAM_DEGREE, svm2.getParams().degree); out.writeProperty(PersistSVM.PARAM_EPS, svm2.getParams().eps); out.writeProperty(PersistSVM.PARAM_GAMMA, svm2.getParams().gamma); out.writeProperty(PersistSVM.PARAM_KERNEL_TYPE, svm2.getParams().kernel_type); out.writeProperty( PersistSVM.PARAM_NUM_WEIGHT, svm2.getParams().nr_weight); out.writeProperty(PersistSVM.PARAM_NU, svm2.getParams().nu); out.writeProperty(PersistSVM.PARAM_P, svm2.getParams().p); out.writeProperty(PersistSVM.PARAM_PROBABILITY, svm2.getParams().probability); out.writeProperty(PersistSVM.PARAM_SHRINKING, svm2.getParams().shrinking); out.writeProperty(PersistSVM.PARAM_SVM_TYPE, svm2.getParams().svm_type); out.writeProperty(PersistSVM.PARAM_WEIGHT, svm2.getParams().weight); out.writeProperty(PersistSVM.PARAM_WEIGHT_LABEL, svm2.getParams().weight_label); if (svm2.getModel() != null) {
out.addSubSection("NETWORK"); out.writeProperty(BasicNetwork.TAG_BEGIN_TRAINING, flat.getBeginTraining()); out.writeProperty(BasicNetwork.TAG_CONNECTION_LIMIT, flat.getConnectionLimit()); out.writeProperty(BasicNetwork.TAG_CONTEXT_TARGET_OFFSET, flat.getContextTargetOffset()); out.writeProperty(BasicNetwork.TAG_CONTEXT_TARGET_SIZE, flat.getContextTargetSize()); out.writeProperty(BasicNetwork.TAG_END_TRAINING, flat.getEndTraining()); out.writeProperty(BasicNetwork.TAG_HAS_CONTEXT, flat.getHasContext()); out.writeProperty(PersistConst.INPUT_COUNT, flat.getInputCount()); out.writeProperty(BasicNetwork.TAG_LAYER_COUNTS, flat.getLayerCounts()); out.writeProperty(BasicNetwork.TAG_LAYER_FEED_COUNTS, flat.getLayerFeedCounts()); out.writeProperty(BasicNetwork.TAG_LAYER_CONTEXT_COUNT, flat.getLayerContextCount()); out.writeProperty(BasicNetwork.TAG_LAYER_INDEX, flat.getLayerIndex()); out.writeProperty(PersistConst.OUTPUT, flat.getLayerOutput()); out.writeProperty(PersistConst.OUTPUT_COUNT, flat.getOutputCount()); out.writeProperty(BasicNetwork.TAG_WEIGHT_INDEX, flat.getWeightIndex()); out.writeProperty(PersistConst.WEIGHTS, flat.getWeights()); out.writeProperty(BasicNetwork.TAG_BIAS_ACTIVATION, flat.getBiasActivation()); out.addSubSection("ACTIVATION"); for(final ActivationFunction af: flat.getActivationFunctions()) { Set<Integer> featureList = net.getFeatureSet(); if(featureList == null || featureList.size() == 0) { out.writeProperty("SUBSETFEATURES", ""); } else { String subFeaturesStr = StringUtils.join(featureList, ","); out.writeProperty("SUBSETFEATURES", subFeaturesStr);
/** * {@inheritDoc} */ @Override public void save(final OutputStream os, final Object obj) { final EncogWriteHelper out = new EncogWriteHelper(os); final TrainingContinuation cont = (TrainingContinuation) obj; out.addSection("CONT"); out.addSubSection("PARAMS"); out.writeProperty("type", cont.getTrainingType()); for (final String key : cont.getContents().keySet()) { final double[] list = (double[]) cont.get(key); out.writeProperty(key, list); } out.flush(); }
/** * {@inheritDoc} */ @Override public void save(final OutputStream os, final Object obj) { final EncogWriteHelper out = new EncogWriteHelper(os); final BAM bam = (BAM) obj; out.addSection("BAM"); out.addSubSection("PARAMS"); out.addProperties(bam.getProperties()); out.addSubSection("NETWORK"); out.writeProperty(PersistConst.PROPERTY_F1_COUNT, bam.getF1Count()); out.writeProperty(PersistConst.PROPERTY_F2_COUNT, bam.getF2Count()); out.writeProperty(PersistConst.PROPERTY_WEIGHTS_F1_F2, bam.getWeightsF1toF2()); out.writeProperty(PersistConst.PROPERTY_WEIGHTS_F2_F1, bam.getWeightsF2toF1()); out.flush(); }
out.addSubSection("NETWORK"); out.writeProperty(BasicNetwork.TAG_BEGIN_TRAINING, flat.getBeginTraining()); out.writeProperty(BasicNetwork.TAG_CONNECTION_LIMIT, flat.getConnectionLimit()); out.writeProperty(BasicNetwork.TAG_CONTEXT_TARGET_OFFSET, flat.getContextTargetOffset()); out.writeProperty(BasicNetwork.TAG_CONTEXT_TARGET_SIZE, flat.getContextTargetSize()); out.writeProperty(BasicNetwork.TAG_END_TRAINING, flat.getEndTraining()); out.writeProperty(BasicNetwork.TAG_HAS_CONTEXT, flat.getHasContext()); out.writeProperty(PersistConst.INPUT_COUNT, flat.getInputCount()); out.writeProperty(BasicNetwork.TAG_LAYER_COUNTS, flat.getLayerCounts()); out.writeProperty(BasicNetwork.TAG_LAYER_FEED_COUNTS, flat.getLayerFeedCounts()); out.writeProperty(BasicNetwork.TAG_LAYER_CONTEXT_COUNT, flat.getLayerContextCount()); out.writeProperty(BasicNetwork.TAG_LAYER_INDEX, flat.getLayerIndex()); out.writeProperty(PersistConst.OUTPUT, flat.getLayerOutput()); out.writeProperty(PersistConst.OUTPUT_COUNT, flat.getOutputCount()); out.writeProperty(BasicNetwork.TAG_WEIGHT_INDEX, flat.getWeightIndex()); out.writeProperty(PersistConst.WEIGHTS, flat.getWeights()); out.writeProperty(BasicNetwork.TAG_BIAS_ACTIVATION, flat.getBiasActivation()); out.addSubSection("ACTIVATION");
out.addSubSection("CONFIG"); out.writeProperty(HiddenMarkovModel.TAG_STATES,net.getStateCount()); if( net.getItems()!=null ) { out.writeProperty(HiddenMarkovModel.TAG_ITEMS,net.getItems()); out.writeProperty(HiddenMarkovModel.TAG_PI,net.getPi()); out.writeProperty(HiddenMarkovModel.TAG_TRANSITION,new Matrix(net.getTransitionProbability())); out.writeProperty(HiddenMarkovModel.TAG_DIST_TYPE, sd.getClass().getSimpleName()); out.writeProperty(HiddenMarkovModel.TAG_MEAN, cDist.getMean()); out.writeProperty(HiddenMarkovModel.TAG_COVARIANCE, cDist.getCovariance()); out.writeProperty(HiddenMarkovModel.TAG_PROBABILITIES, new Matrix(dDist.getProbabilities()));
/** * {@inheritDoc} */ @Override public void save(final OutputStream os, final Object obj) { final EncogWriteHelper out = new EncogWriteHelper(os); final SOM som = (SOM) obj; out.addSection("SOM"); out.addSubSection("PARAMS"); out.addProperties(som.getProperties()); out.addSubSection("NETWORK"); out.writeProperty(PersistConst.WEIGHTS, som.getWeights()); out.writeProperty(PersistConst.INPUT_COUNT, som.getInputCount()); out.writeProperty(PersistConst.OUTPUT_COUNT, som.getOutputCount()); out.flush(); }
/** * {@inheritDoc} */ @Override public void save(final OutputStream os, final Object obj) { final EncogWriteHelper out = new EncogWriteHelper(os); final HopfieldNetwork hopfield = (HopfieldNetwork) obj; out.addSection("HOPFIELD"); out.addSubSection("PARAMS"); out.addProperties(hopfield.getProperties()); out.addSubSection("NETWORK"); out.writeProperty(PersistConst.WEIGHTS, hopfield.getWeights()); out.writeProperty(PersistConst.OUTPUT, hopfield.getCurrentState() .getData()); out.writeProperty(PersistConst.NEURON_COUNT, hopfield.getNeuronCount()); out.flush(); }
out.addProperties(universe.getProperties()); out.addSubSection("UNIVERSE-PARAM"); out.writeProperty(PersistConst.ROWS, universe.getRows()); out.writeProperty(PersistConst.COLS, universe.getColumns()); out.addSubSection("UNIVERSE-CELLS"); UniverseCellFactory factory = universe.getCellFactory(); String className = factory.getClass().getSimpleName(); out.writeProperty(PersistConst.TYPE, className); if( factory instanceof BasicCellFactory ) { BasicCellFactory factory2 = (BasicCellFactory)factory; out.writeProperty(BasicUniverse.ELEMENT_COUNT, factory2.getElementCount()); out.writeProperty(PersistConst.MAX, factory2.getMax()); out.writeProperty(PersistConst.MIN, factory2.getMin()); out.writeProperty(PersistConst.SIZE, factory2.size()); } else { throw new CellularAutomataError("Unknown cell factory: " + className);
/** * Save a subsection. * @param out The output file. * @param section The section. * @param subSection The subsection. */ private void saveSubSection(final EncogWriteHelper out, final String section, final String subSection) { if (!section.equals(out.getCurrentSection())) { out.addSection(section); } out.addSubSection(subSection); final List<PropertyEntry> list = PropertyConstraints.getInstance() .getEntries(section, subSection); if (list != null) { Collections.sort(list); for (final PropertyEntry entry : list) { final String key = section + ":" + subSection + "_" + entry.getName(); final String value = this.script.getProperties() .getPropertyString(key); if (value != null) { out.writeProperty(entry.getName(), value); } else { out.writeProperty(entry.getName(), ""); } } } }
out.addSection("NEAT-POPULATION"); out.addSubSection("CONFIG"); out.writeProperty(PersistConst.ACTIVATION_CYCLES, pop.getActivationCycles()); out.writeProperty(NEATPopulation.PROPERTY_NEAT_ACTIVATION, PersistNEATPopulation.TYPE_CPPN); } else { final ActivationFunction af = pop.getActivationFunctions() .getList().get(0).getObj(); out.writeProperty(NEATPopulation.PROPERTY_NEAT_ACTIVATION, af); out.writeProperty(PersistConst.INPUT_COUNT, pop.getInputCount()); out.writeProperty(PersistConst.OUTPUT_COUNT, pop.getOutputCount()); out.writeProperty(NEATPopulation.PROPERTY_CYCLES, pop.getActivationCycles()); out.writeProperty(NEATPopulation.PROPERTY_POPULATION_SIZE, pop.getPopulationSize()); out.writeProperty(NEATPopulation.PROPERTY_SURVIVAL_RATE, pop.getSurvivalRate()); out.addSubSection("INNOVATIONS");
out.addSubSection("NETWORK"); out.writeProperty(PersistConst.ERROR, pnn.getError()); out.writeProperty(PersistConst.INPUT_COUNT, pnn.getInputCount()); out.writeProperty(PersistConst.KERNEL, PersistBasicPNN.kernelToString(pnn.getKernel())); out.writeProperty(PersistConst.OUTPUT_COUNT, pnn.getOutputCount()); out.writeProperty(PersistBasicPNN.PROPERTY_outputMode, PersistBasicPNN.outputModeToString(pnn.getOutputMode())); out.writeProperty(PersistConst.SIGMA, pnn.getSigma());