public virtual void Save(Stream os, object obj) { EncogWriteHelper xout = new EncogWriteHelper(os); NEATNetwork network = (NEATNetwork) obj; xout.AddSection("NEAT"); xout.AddSubSection("PARAMS"); xout.AddProperties(network.Properties); xout.AddSubSection("NETWORK"); if (8 != 0) { } xout.WriteProperty("inputCount", network.InputCount); xout.WriteProperty("outputCount", network.OutputCount); xout.WriteProperty("activationFunction", network.ActivationFunction); xout.WriteProperty("outAct", network.OutputActivationFunction); xout.WriteProperty("depth", network.NetworkDepth); Label_0087: xout.WriteProperty("snapshot", network.Snapshot); xout.AddSubSection("NEURONS"); using (IEnumerator<NEATNeuron> enumerator = network.Neurons.GetEnumerator()) { NEATNeuron current; goto Label_00E3; Label_00B2: if (8 == 0) { goto Label_00F6; } xout.AddColumn(current.ActivationResponse); xout.AddColumn(current.SplitX); xout.AddColumn(current.SplitY); xout.WriteLine(); Label_00E3: if (!enumerator.MoveNext()) { goto Label_0124; } current = enumerator.Current; Label_00F6: xout.AddColumn((int) current.NeuronID); xout.AddColumn(PersistNEATPopulation.NeuronTypeToString(current.NeuronType)); goto Label_00B2; } Label_0124: xout.AddSubSection("LINKS"); foreach (NEATNeuron neuron2 in network.Neurons) { foreach (NEATLink link in neuron2.OutputboundLinks) { WriteLink(xout, link); } } xout.Flush(); if (-1 != 0) { return; } goto Label_0087; }
/// <inheritdoc/> public void Save(Stream os, Object obj) { var xout = new EncogWriteHelper(os); var net = (BasicNetwork) obj; FlatNetwork flat = net.Structure.Flat; xout.AddSection("BASIC"); xout.AddSubSection("PARAMS"); xout.AddProperties(net.Properties); xout.AddSubSection("NETWORK"); xout.WriteProperty(BasicNetwork.TagBeginTraining, flat.BeginTraining); xout.WriteProperty(BasicNetwork.TagConnectionLimit, flat.ConnectionLimit); xout.WriteProperty(BasicNetwork.TagContextTargetOffset, flat.ContextTargetOffset); xout.WriteProperty(BasicNetwork.TagContextTargetSize, flat.ContextTargetSize); xout.WriteProperty(BasicNetwork.TagEndTraining, flat.EndTraining); xout.WriteProperty(BasicNetwork.TagHasContext, flat.HasContext); xout.WriteProperty(PersistConst.InputCount, flat.InputCount); xout.WriteProperty(BasicNetwork.TagLayerCounts, flat.LayerCounts); xout.WriteProperty(BasicNetwork.TagLayerFeedCounts, flat.LayerFeedCounts); xout.WriteProperty(BasicNetwork.TagLayerContextCount, flat.LayerContextCount); xout.WriteProperty(BasicNetwork.TagLayerIndex, flat.LayerIndex); xout.WriteProperty(PersistConst.Output, flat.LayerOutput); xout.WriteProperty(PersistConst.OutputCount, flat.OutputCount); xout.WriteProperty(BasicNetwork.TagWeightIndex, flat.WeightIndex); xout.WriteProperty(PersistConst.Weights, flat.Weights); xout.WriteProperty(BasicNetwork.TagBiasActivation, flat.BiasActivation); xout.AddSubSection("ACTIVATION"); foreach (IActivationFunction af in flat.ActivationFunctions) { xout.AddColumn(af.GetType().Name); for (int i = 0; i < af.Params.Length; i++) { xout.AddColumn(af.Params[i]); } xout.WriteLine(); } xout.Flush(); }
/// <summary> /// /// </summary> /// public void Save(Stream os, Object obj) { var xout = new EncogWriteHelper(os); var pnn = (BasicPNN) obj; xout.AddSection("PNN"); xout.AddSubSection("PARAMS"); xout.AddProperties(pnn.Properties); xout.AddSubSection("NETWORK"); xout.WriteProperty(PersistConst.Error, pnn.Error); xout.WriteProperty(PersistConst.InputCount, pnn.InputCount); xout.WriteProperty(PersistConst.Kernel, KernelToString(pnn.Kernel)); xout.WriteProperty(PersistConst.OutputCount, pnn.OutputCount); xout.WriteProperty(PropertyOutputMode, OutputModeToString(pnn.OutputMode)); xout.WriteProperty(PersistConst.Sigma, pnn.Sigma); xout.AddSubSection("SAMPLES"); if (pnn.Samples != null) { foreach (IMLDataPair pair in pnn.Samples) { for (int i = 0; i < pair.Input.Count; i++) { xout.AddColumn(pair.Input[i]); } for (int i = 0; i < pair.Ideal.Count; i++) { xout.AddColumn(pair.Ideal[i]); } xout.WriteLine(); } } xout.Flush(); }
/// <inheritdoc/> public void Save(Stream os, Object obj) { var output = new EncogWriteHelper(os); var pop = (NEATPopulation)obj; output.AddSection("NEAT-POPULATION"); output.AddSubSection("CONFIG"); output.WriteProperty(PersistConst.ActivationCycles, pop.ActivationCycles); if (pop.IsHyperNEAT) { output.WriteProperty(NEATPopulation.PropertyNEATActivation,TypeCppn); } else { IActivationFunction af = pop.ActivationFunctions.Contents[0].obj; output.WriteProperty(NEATPopulation.PropertyNEATActivation, af); } output.WriteProperty(PersistConst.InputCount, pop.InputCount); output.WriteProperty(PersistConst.OutputCount, pop.OutputCount); output.WriteProperty(NEATPopulation.PropertyCycles, pop.ActivationCycles); output.WriteProperty(NEATPopulation.PropertyPopulationSize, pop.PopulationSize); output.WriteProperty(NEATPopulation.PropertySurvivalRate, pop.SurvivalRate); output.AddSubSection("INNOVATIONS"); if (pop.Innovations != null) { foreach (string key in pop.Innovations.Innovations.Keys) { NEATInnovation innovation = pop.Innovations.Innovations[key]; output.AddColumn(key); output.AddColumn(innovation.InnovationId); output.AddColumn(innovation.NeuronId); output.WriteLine(); } } output.AddSubSection("SPECIES"); // make sure the best species goes first ISpecies bestSpecies = pop.DetermineBestSpecies(); if (bestSpecies != null) { SaveSpecies(output, bestSpecies); } // now write the other species, other than the best one foreach (ISpecies species in pop.Species) { if (species != bestSpecies) { SaveSpecies(output, species); } } output.Flush(); }
private void SaveSpecies(EncogWriteHelper output, ISpecies species) { output.AddColumn("s"); output.AddColumn(species.Age); output.AddColumn(species.BestScore); output.AddColumn(species.GensNoImprovement); output.WriteLine(); foreach (IGenome genome in species.Members) { var neatGenome = (NEATGenome)genome; output.AddColumn("g"); output.AddColumn(neatGenome.AdjustedScore); output.AddColumn(neatGenome.Score); output.AddColumn(neatGenome.BirthGeneration); output.WriteLine(); foreach (NEATNeuronGene neatNeuronGene in neatGenome.NeuronsChromosome) { output.AddColumn("n"); output.AddColumn(neatNeuronGene.Id); output.AddColumn(neatNeuronGene.ActivationFunction); output.AddColumn(NeuronTypeToString(neatNeuronGene.NeuronType)); output.AddColumn(neatNeuronGene.InnovationId); output.WriteLine(); } foreach (NEATLinkGene neatLinkGene in neatGenome.LinksChromosome) { output.AddColumn("l"); output.AddColumn(neatLinkGene.Id); output.AddColumn(neatLinkGene.Enabled); output.AddColumn(neatLinkGene.FromNeuronId); output.AddColumn(neatLinkGene.ToNeuronId); output.AddColumn(neatLinkGene.Weight); output.AddColumn(neatLinkGene.InnovationId); output.WriteLine(); } } }
/// <summary> /// Save the normalization data. /// </summary> /// /// <param name="xout">The output file.</param> private void SaveNormalize(EncogWriteHelper xout) { SaveSubSection(xout, "NORMALIZE", "CONFIG"); xout.AddSubSection("RANGE"); xout.AddColumn("name"); xout.AddColumn("io"); xout.AddColumn("timeSlice"); xout.AddColumn("action"); xout.AddColumn("high"); xout.AddColumn("low"); xout.WriteLine(); foreach (AnalystField field in _script.Normalize.NormalizedFields) { xout.AddColumn(field.Name); xout.AddColumn(field.Input ? "input" : "output"); xout.AddColumn(field.TimeSlice); switch (field.Action) { case NormalizationAction.Ignore: xout.AddColumn("ignore"); break; case NormalizationAction.Normalize: xout.AddColumn("range"); break; case NormalizationAction.PassThrough: xout.AddColumn("pass"); break; case NormalizationAction.OneOf: xout.AddColumn("oneof"); break; case NormalizationAction.Equilateral: xout.AddColumn("equilateral"); break; case NormalizationAction.SingleField: xout.AddColumn("single"); break; default: throw new AnalystError("Unknown action: " + field.Action); } xout.AddColumn(field.NormalizedHigh); xout.AddColumn(field.NormalizedLow); xout.WriteLine(); } }
private void x6f59fa9537dbb843(EncogWriteHelper xa58d1d9c6fa55c59) { this.x4ec53e22935ca8a4(xa58d1d9c6fa55c59, "NORMALIZE", "CONFIG"); xa58d1d9c6fa55c59.AddSubSection("RANGE"); xa58d1d9c6fa55c59.AddColumn("name"); xa58d1d9c6fa55c59.AddColumn("io"); if (0 == 0) { } xa58d1d9c6fa55c59.AddColumn("timeSlice"); xa58d1d9c6fa55c59.AddColumn("action"); xa58d1d9c6fa55c59.AddColumn("high"); xa58d1d9c6fa55c59.AddColumn("low"); xa58d1d9c6fa55c59.WriteLine(); using (IEnumerator<AnalystField> enumerator = this._x594135906c55045c.Normalize.NormalizedFields.GetEnumerator()) { AnalystField field; Label_0060: if (enumerator.MoveNext()) { goto Label_015A; } return; Label_008D: xa58d1d9c6fa55c59.AddColumn(field.NormalizedHigh); xa58d1d9c6fa55c59.AddColumn(field.NormalizedLow); xa58d1d9c6fa55c59.WriteLine(); if (0 == 0) { goto Label_0060; } goto Label_008D; Label_00B0: xa58d1d9c6fa55c59.AddColumn("single"); if (2 == 0) { goto Label_015A; } goto Label_008D; Label_00C9: xa58d1d9c6fa55c59.AddColumn("pass"); goto Label_008D; Label_00D6: xa58d1d9c6fa55c59.AddColumn("oneof"); goto Label_008D; Label_00E3: xa58d1d9c6fa55c59.AddColumn("equilateral"); goto Label_008D; Label_00F7: xa58d1d9c6fa55c59.AddColumn("range"); goto Label_008D; Label_010C: xa58d1d9c6fa55c59.AddColumn(field.TimeSlice); switch (field.Action) { case NormalizationAction.PassThrough: goto Label_00C9; case NormalizationAction.Normalize: goto Label_00F7; case NormalizationAction.Ignore: break; case NormalizationAction.OneOf: goto Label_00D6; case NormalizationAction.Equilateral: goto Label_00E3; case NormalizationAction.SingleField: goto Label_00B0; default: throw new AnalystError("Unknown action: " + field.Action); } xa58d1d9c6fa55c59.AddColumn("ignore"); if (15 != 0) { goto Label_018C; } if (0 != 0) { goto Label_0060; } Label_015A: field = enumerator.Current; xa58d1d9c6fa55c59.AddColumn(field.Name); xa58d1d9c6fa55c59.AddColumn(field.Input ? "input" : "output"); goto Label_010C; Label_018C: if (4 != 0) { goto Label_008D; } goto Label_0060; } }
public virtual void Save(Stream os, object obj) { NEATPopulation population; EncogWriteHelper helper = new EncogWriteHelper(os); if (0 == 0) { population = (NEATPopulation) obj; if (-2147483648 != 0) { goto Label_05B6; } } Label_000D: helper.Flush(); return; Label_0018: using (IEnumerator<ISpecies> enumerator5 = population.Species.GetEnumerator()) { ISpecies species; goto Label_0049; Label_0027: helper.AddColumn(species.Leader.GenomeID); if (-2 == 0) { goto Label_000D; } helper.WriteLine(); Label_0049: if (enumerator5.MoveNext()) { goto Label_00A2; } goto Label_000D; Label_0054: helper.AddColumn(species.BestScore); helper.AddColumn(species.GensNoImprovement); helper.AddColumn(species.NumToSpawn); helper.AddColumn(species.SpawnsRequired); goto Label_0027; Label_008C: helper.AddColumn(species.Age); if (0x7fffffff != 0) { goto Label_0054; } goto Label_000D; Label_00A2: species = enumerator5.Current; helper.AddColumn(species.SpeciesID); goto Label_008C; } Label_00D2: if (population.Innovations != null) { goto Label_03B2; } Label_00DD: helper.AddSubSection("GENOMES"); using (IEnumerator<IGenome> enumerator2 = population.Genomes.GetEnumerator()) { IGenome genome; NEATGenome genome2; goto Label_01E0; Label_00FA: using (List<IGene>.Enumerator enumerator4 = genome2.Links.Genes.GetEnumerator()) { IGene gene3; NEATLinkGene gene4; goto Label_0129; Label_010F: if (2 == 0) { goto Label_016F; } helper.AddColumn(gene4.InnovationId); helper.WriteLine(); Label_0129: if (enumerator4.MoveNext()) { goto Label_01C4; } goto Label_01E0; Label_013A: helper.AddColumn(gene4.Weight); goto Label_010F; Label_014C: helper.AddColumn(gene4.ToNeuronID); if (4 != 0) { goto Label_013A; } goto Label_018C; Label_0162: helper.AddColumn(gene4.Enabled); Label_016F: helper.AddColumn(gene4.Recurrent); helper.AddColumn(gene4.FromNeuronID); if (0 == 0) { goto Label_014C; } Label_018C: gene4 = (NEATLinkGene) gene3; if (1 != 0) { } helper.AddColumn("l"); helper.AddColumn(gene4.Id); goto Label_0162; Label_01C4: gene3 = enumerator4.Current; if (0 == 0) { goto Label_018C; } } Label_01E0: if (enumerator2.MoveNext()) { goto Label_030A; } goto Label_0361; Label_01F1: helper.AddColumn(genome2.AmountToSpawn); helper.AddColumn(genome2.NetworkDepth); helper.AddColumn(genome2.Score); helper.WriteLine(); using (List<IGene>.Enumerator enumerator3 = genome2.Neurons.Genes.GetEnumerator()) { IGene gene; NEATNeuronGene gene2; goto Label_0246; Label_0233: helper.AddColumn(gene2.SplitY); helper.WriteLine(); Label_0246: if (enumerator3.MoveNext()) { goto Label_02D6; } if (0 == 0) { goto Label_02CF; } Label_0255: helper.AddColumn(gene2.Enabled); helper.AddColumn(gene2.InnovationId); helper.AddColumn(gene2.ActivationResponse); helper.AddColumn(gene2.SplitX); goto Label_0233; Label_028D: gene2 = (NEATNeuronGene) gene; helper.AddColumn("n"); if (8 != 0) { } do { helper.AddColumn(gene2.Id); } while (0 != 0); helper.AddColumn(NeuronTypeToString(gene2.NeuronType)); goto Label_0255; Label_02CF: if (2 != 0) { goto Label_00FA; } Label_02D6: gene = enumerator3.Current; goto Label_028D; } goto Label_00FA; Label_02FB: helper.AddColumn(genome2.AdjustedScore); goto Label_0346; Label_030A: genome = enumerator2.Current; genome2 = (NEATGenome) genome; if (0 == 0) { } helper.AddColumn("g"); helper.AddColumn(genome2.GenomeID); helper.AddColumn(genome2.SpeciesID); goto Label_02FB; Label_0346: if (0 == 0) { goto Label_01F1; } if (0 != 0) { goto Label_02FB; } goto Label_030A; } Label_0361: helper.AddSubSection("SPECIES"); goto Label_0018; Label_03B2: using (IEnumerator<IInnovation> enumerator = population.Innovations.Innovations.GetEnumerator()) { IInnovation innovation; NEATInnovation innovation2; goto Label_03CC; Label_03C6: helper.WriteLine(); Label_03CC: if (enumerator.MoveNext()) { goto Label_0452; } goto Label_00DD; Label_03DA: helper.AddColumn(innovation2.SplitY); helper.AddColumn(innovation2.NeuronID); helper.AddColumn(innovation2.FromNeuronID); helper.AddColumn(innovation2.ToNeuronID); goto Label_03C6; Label_040C: if (0 != 0) { goto Label_03CC; } helper.AddColumn(innovation2.InnovationID); helper.AddColumn(InnovationTypeToString(innovation2.InnovationType)); helper.AddColumn(NeuronTypeToString(innovation2.NeuronType)); helper.AddColumn(innovation2.SplitX); goto Label_03DA; Label_0452: innovation = enumerator.Current; innovation2 = (NEATInnovation) innovation; if (3 != 0) { goto Label_040C; } goto Label_00DD; } if (0x7fffffff != 0) { goto Label_00D2; } goto Label_0018; if (-2147483648 != 0) { goto Label_000D; } Label_05B6: helper.AddSection("NEAT-POPULATION"); helper.AddSubSection("CONFIG"); helper.WriteProperty("snapshot", population.Snapshot); helper.WriteProperty("outAct", population.OutputActivationFunction); helper.WriteProperty("neatAct", population.NeatActivationFunction); if (0 != 0) { goto Label_00DD; } if (2 != 0) { helper.WriteProperty("inputCount", population.InputCount); helper.WriteProperty("outputCount", population.OutputCount); helper.WriteProperty("oldAgePenalty", population.OldAgePenalty); } helper.WriteProperty("oldAgeThreshold", population.OldAgeThreshold); helper.WriteProperty("populationSize", population.PopulationSize); helper.WriteProperty("survivalRate", population.SurvivalRate); if (0 != 0) { goto Label_0018; } helper.WriteProperty("youngAgeThreshold", population.YoungBonusAgeThreshold); helper.WriteProperty("youngAgeBonus", population.YoungScoreBonus); helper.WriteProperty("nextGenomeID", population.GenomeIDGenerate.CurrentID); helper.WriteProperty("nextInnovationID", population.InnovationIDGenerate.CurrentID); helper.WriteProperty("nextGeneID", population.GeneIDGenerate.CurrentID); helper.WriteProperty("nextSpeciesID", population.SpeciesIDGenerate.CurrentID); helper.AddSubSection("INNOVATIONS"); if (0x7fffffff != 0) { goto Label_00D2; } goto Label_03B2; }
/// <summary> /// Save the object. /// </summary> /// <param name="os">The output stream.</param> /// <param name="obj">The object to save.</param> public virtual void Save(Stream os, Object obj) { var xout = new EncogWriteHelper(os); var neat = (NEATNetwork) obj; xout.AddSection("NEAT"); xout.AddSubSection("PARAMS"); xout.AddProperties(neat.Properties); xout.AddSubSection("NETWORK"); xout.WriteProperty(PersistConst.InputCount, neat.InputCount); xout.WriteProperty(PersistConst.OutputCount, neat.OutputCount); xout.WriteProperty(PersistConst.ActivationFunction, neat.ActivationFunction); xout.WriteProperty(NEATPopulation.PropertyOutputActivation, neat.OutputActivationFunction); xout.WriteProperty(PersistConst.Depth, neat.NetworkDepth); xout.WriteProperty(PersistConst.Snapshot, neat.Snapshot); xout.AddSubSection("NEURONS"); foreach (NEATNeuron neatNeuron in neat.Neurons) { xout.AddColumn((int)neatNeuron.NeuronID); xout.AddColumn(PersistNEATPopulation.NeuronTypeToString(neatNeuron.NeuronType)); xout.AddColumn(neatNeuron.ActivationResponse); xout.AddColumn(neatNeuron.SplitX); xout.AddColumn(neatNeuron.SplitY); xout.WriteLine(); } xout.AddSubSection("LINKS"); foreach (NEATNeuron neatNeuron in neat.Neurons) { foreach (NEATLink link in neatNeuron.OutputboundLinks) { WriteLink(xout, link); } } xout.Flush(); }
public void Save(Stream os, object obj) { IActivationFunction function; double num; IRadialBasisFunction function2; IActivationFunction[] activationFunctions; int num3; double[] @params; int num4; IRadialBasisFunction[] functionArray2; int num5; EncogWriteHelper helper = new EncogWriteHelper(os); RBFNetwork network = (RBFNetwork) obj; FlatNetworkRBF flat = (FlatNetworkRBF) network.Flat; helper.AddSection("RBF-NETWORK"); helper.AddSubSection("PARAMS"); goto Label_03F8; Label_0033: if (num5 < functionArray2.Length) { function2 = functionArray2[num5]; if (0 == 0) { helper.AddColumn(function2.GetType().Name); helper.AddColumn(function2.Width); goto Label_006E; } if ((((uint) num3) | 0x7fffffff) != 0) { goto Label_02E5; } goto Label_020D; } helper.Flush(); return; Label_006E: helper.AddColumn(function2.Peak); double[] centers = function2.Centers; int index = 0; while (index < centers.Length) { double d = centers[index]; helper.AddColumn(d); index++; } if ((((uint) index) - ((uint) num5)) <= uint.MaxValue) { helper.WriteLine(); if ((((uint) num5) - ((uint) index)) < 0) { goto Label_02A1; } num5++; goto Label_0033; } return; Label_00C6: functionArray2 = flat.RBF; num5 = 0; if ((((uint) num) - ((uint) num)) < 0) { goto Label_0125; } goto Label_0033; Label_00FA: if (num3 < activationFunctions.Length) { function = activationFunctions[num3]; goto Label_0161; } helper.AddSubSection("RBF"); if ((((uint) num5) | 15) != 0) { goto Label_01B0; } goto Label_011D; Label_0117: num4++; Label_011D: if (num4 < @params.Length) { num = @params[num4]; helper.AddColumn(num); goto Label_0117; } Label_0125: helper.WriteLine(); num3++; goto Label_00FA; Label_0161: helper.AddColumn(function.GetType().Name); @params = function.Params; Label_017A: num4 = 0; if ((((uint) num5) + ((uint) index)) > uint.MaxValue) { goto Label_03BC; } if ((((uint) num4) + ((uint) num)) <= uint.MaxValue) { goto Label_011D; } Label_01B0: if (((uint) num3) >= 0) { goto Label_00C6; } Label_01C2: if (0xff == 0) { goto Label_017A; } num3 = 0; if ((((uint) index) | 1) != 0) { goto Label_00FA; } goto Label_00C6; Label_020D: helper.WriteProperty("biasActivation", flat.BiasActivation); helper.AddSubSection("ACTIVATION"); activationFunctions = flat.ActivationFunctions; goto Label_01C2; Label_02A1: helper.WriteProperty("layerContextCount", flat.LayerContextCount); helper.WriteProperty("layerIndex", flat.LayerIndex); if ((((uint) index) + ((uint) num)) < 0) { goto Label_0117; } helper.WriteProperty("output", flat.LayerOutput); helper.WriteProperty("outputCount", flat.OutputCount); helper.WriteProperty("weightIndex", flat.WeightIndex); if ((((uint) num) - ((uint) num5)) < 0) { goto Label_03F8; } helper.WriteProperty("weights", flat.Weights); goto Label_020D; Label_02E5: helper.WriteProperty("inputCount", flat.InputCount); helper.WriteProperty("layerCounts", flat.LayerCounts); if ((((uint) num4) - ((uint) index)) < 0) { goto Label_0161; } helper.WriteProperty("layerFeedCounts", flat.LayerFeedCounts); if (0x7fffffff != 0) { goto Label_02A1; } Label_0378: helper.WriteProperty("beginTraining", flat.BeginTraining); helper.WriteProperty("connectionLimit", flat.ConnectionLimit); helper.WriteProperty("contextTargetOffset", flat.ContextTargetOffset); helper.WriteProperty("contextTargetSize", flat.ContextTargetSize); Label_03BC: helper.WriteProperty("endTraining", flat.EndTraining); helper.WriteProperty("hasContext", flat.HasContext); if ((((uint) num5) | 3) == 0) { goto Label_006E; } goto Label_02E5; Label_03F8: helper.AddProperties(network.Properties); helper.AddSubSection("NETWORK"); goto Label_0378; }
/// <inheritdoc /> public void Save(Stream ostream, Object obj) { var writer = new EncogWriteHelper(ostream); var pop = (PrgPopulation) obj; writer.AddSection("BASIC"); writer.AddSubSection("PARAMS"); writer.AddProperties(pop.Properties); writer.AddSubSection("EPL-OPCODES"); foreach (IProgramExtensionTemplate temp in pop.Context .Functions.OpCodes) { writer.AddColumn(temp.Name); writer.AddColumn(temp.ChildNodeCount); writer.WriteLine(); } writer.AddSubSection("EPL-SYMBOLIC"); writer.AddColumn("name"); writer.AddColumn("type"); writer.AddColumn("enum"); writer.AddColumn("enum_type"); writer.AddColumn("enum_count"); writer.WriteLine(); // write the first line, the result writer.AddColumn(""); writer.AddColumn(GetType(pop.Context.Result)); writer.AddColumn(pop.Context.Result.EnumType); writer.AddColumn(pop.Context.Result.EnumValueCount); writer.WriteLine(); // write the next lines, the variables foreach (VariableMapping mapping in pop.Context.DefinedVariables) { writer.AddColumn(mapping.Name); writer.AddColumn(GetType(mapping)); writer.AddColumn(mapping.EnumType); writer.AddColumn(mapping.EnumValueCount); writer.WriteLine(); } writer.AddSubSection("EPL-POPULATION"); foreach (ISpecies species in pop.Species) { if (species.Members.Count > 0) { writer.AddColumn("s"); writer.AddColumn(species.Age); writer.AddColumn(species.BestScore); writer.AddColumn(species.GensNoImprovement); writer.WriteLine(); foreach (IGenome genome in species.Members) { var prg = (EncogProgram) genome; writer.AddColumn("p"); if (Double.IsInfinity(prg.Score) || Double.IsNaN(prg.Score)) { writer.AddColumn("NaN"); writer.AddColumn("NaN"); } else { writer.AddColumn(prg.Score); writer.AddColumn(prg.AdjustedScore); } writer.AddColumn(prg.GenerateEPL()); writer.WriteLine(); } } } writer.Flush(); }
public void Save(Stream os, object obj) { BasicNetwork network; FlatNetwork flat; IActivationFunction function; int num; IActivationFunction[] activationFunctions; int num2; EncogWriteHelper helper = new EncogWriteHelper(os); if ((((uint) num2) + ((uint) num)) >= 0) { goto Label_0290; } goto Label_0059; Label_0024: if (num < function.Params.Length) { helper.AddColumn(function.Params[num]); goto Label_0080; } if (-1 == 0) { goto Label_00CC; } helper.WriteLine(); Label_0040: num2++; Label_0046: if (num2 < activationFunctions.Length) { goto Label_00F8; } helper.Flush(); goto Label_0071; Label_0059: num++; if (((uint) num2) <= uint.MaxValue) { goto Label_0024; } Label_0071: if (1 != 0) { return; } goto Label_0290; Label_0080: if ((((uint) num2) + ((uint) num)) < 0) { goto Label_0135; } goto Label_0059; Label_00CC: helper.WriteProperty("biasActivation", flat.BiasActivation); helper.AddSubSection("ACTIVATION"); activationFunctions = flat.ActivationFunctions; num2 = 0; goto Label_0046; Label_00F8: function = activationFunctions[num2]; if (((uint) num2) >= 0) { helper.AddColumn(function.GetType().Name); } if (0x7fffffff != 0) { num = 0; goto Label_0024; } goto Label_0080; Label_0135: helper.WriteProperty("outputCount", flat.OutputCount); if ((((uint) num) & 0) != 0) { goto Label_00F8; } helper.WriteProperty("weightIndex", flat.WeightIndex); helper.WriteProperty("weights", flat.Weights); goto Label_00CC; Label_0290: network = (BasicNetwork) obj; flat = network.Structure.Flat; helper.AddSection("BASIC"); helper.AddSubSection("PARAMS"); helper.AddProperties(network.Properties); if (((uint) num2) < 0) { goto Label_0040; } helper.AddSubSection("NETWORK"); helper.WriteProperty("beginTraining", flat.BeginTraining); helper.WriteProperty("connectionLimit", flat.ConnectionLimit); helper.WriteProperty("contextTargetOffset", flat.ContextTargetOffset); helper.WriteProperty("contextTargetSize", flat.ContextTargetSize); helper.WriteProperty("endTraining", flat.EndTraining); helper.WriteProperty("hasContext", flat.HasContext); helper.WriteProperty("inputCount", flat.InputCount); helper.WriteProperty("layerCounts", flat.LayerCounts); helper.WriteProperty("layerFeedCounts", flat.LayerFeedCounts); helper.WriteProperty("layerContextCount", flat.LayerContextCount); helper.WriteProperty("layerIndex", flat.LayerIndex); if (0 != 0) { goto Label_00CC; } helper.WriteProperty("output", flat.LayerOutput); goto Label_0135; }
public void Save(Stream os, object obj) { BasicPNN cpnn; int num; int num2; EncogWriteHelper helper = new EncogWriteHelper(os); goto Label_01F0; Label_0017: using (IEnumerator<IMLDataPair> enumerator = cpnn.Samples.GetEnumerator()) { IMLDataPair pair; goto Label_0054; Label_0026: helper.AddColumn(pair.Ideal[num2]); num2++; Label_003F: if (num2 < pair.Ideal.Count) { goto Label_0026; } helper.WriteLine(); Label_0054: if (enumerator.MoveNext()) { goto Label_00F0; } if ((((uint) num) - ((uint) num2)) > uint.MaxValue) { goto Label_00DD; } if ((((uint) num2) + ((uint) num)) >= 0) { goto Label_010F; } if ((((uint) num2) - ((uint) num)) >= 0) { goto Label_00F0; } if ((((uint) num2) + ((uint) num2)) > uint.MaxValue) { goto Label_010F; } Label_00C7: helper.AddColumn(pair.Input[num]); num++; Label_00DD: if (num < pair.Input.Count) { goto Label_00C7; } num2 = 0; goto Label_003F; Label_00F0: pair = enumerator.Current; num = 0; goto Label_00DD; } Label_010F: helper.Flush(); return; Label_01F0: cpnn = (BasicPNN) obj; helper.AddSection("PNN"); helper.AddSubSection("PARAMS"); helper.AddProperties(cpnn.Properties); helper.AddSubSection("NETWORK"); helper.WriteProperty("error", cpnn.Error); helper.WriteProperty("inputCount", cpnn.InputCount); helper.WriteProperty("kernel", KernelToString(cpnn.Kernel)); if ((((uint) num) & 0) != 0) { goto Label_0017; } helper.WriteProperty("outputCount", cpnn.OutputCount); helper.WriteProperty("outputMode", OutputModeToString(cpnn.OutputMode)); if ((((uint) num2) | 1) == 0) { goto Label_0017; } helper.WriteProperty("sigma", cpnn.Sigma); if (0 == 0) { helper.AddSubSection("SAMPLES"); goto Label_0017; } goto Label_01F0; }
private void x80a029c2a0fbca61(EncogWriteHelper xa58d1d9c6fa55c59) { DataField field; DataField field2; DataField[] fieldArray; int num; DataField[] fields; int num2; this.x4ec53e22935ca8a4(xa58d1d9c6fa55c59, "DATA", "CONFIG"); if ((((uint) num) | 8) != 0) { xa58d1d9c6fa55c59.AddSubSection("STATS"); } goto Label_031C; Label_0033: if (((uint) num2) > uint.MaxValue) { goto Label_0062; } Label_0045: num2++; Label_004B: if (num2 < fields.Length) { field2 = fields[num2]; if (0x7fffffff != 0) { goto Label_0058; } goto Label_0170; } if ((((uint) num2) | 0x7fffffff) != 0) { if ((((uint) num2) | uint.MaxValue) != 0) { return; } goto Label_031C; } goto Label_01F9; Label_0058: if (field2.Class) { using (IEnumerator<AnalystClassItem> enumerator = field2.ClassMembers.GetEnumerator()) { goto Label_00AE; Label_0090: if ((((uint) num) | 3) == 0) { goto Label_0045; } xa58d1d9c6fa55c59.WriteLine(); Label_00AE: if (enumerator.MoveNext()) { AnalystClassItem current = enumerator.Current; xa58d1d9c6fa55c59.AddColumn(field2.Name); xa58d1d9c6fa55c59.AddColumn(current.Code); xa58d1d9c6fa55c59.AddColumn(current.Name); xa58d1d9c6fa55c59.AddColumn(current.Count); goto Label_0090; } goto Label_0045; } } goto Label_0033; Label_0062: if ((((uint) num) & 0) != 0) { goto Label_0058; } goto Label_0045; Label_0170: xa58d1d9c6fa55c59.AddColumn("code"); if ((((uint) num2) + ((uint) num)) > uint.MaxValue) { goto Label_0033; } xa58d1d9c6fa55c59.AddColumn("name"); xa58d1d9c6fa55c59.WriteLine(); if ((((uint) num2) & 0) == 0) { fields = this._x594135906c55045c.Fields; num2 = 0; if (0 != 0) { goto Label_0331; } if (((uint) num2) > uint.MaxValue) { goto Label_0058; } goto Label_004B; } goto Label_01F9; Label_01B3: if (num < fieldArray.Length) { field = fieldArray[num]; goto Label_0369; } xa58d1d9c6fa55c59.Flush(); xa58d1d9c6fa55c59.AddSubSection("CLASSES"); xa58d1d9c6fa55c59.AddColumn("field"); goto Label_0170; Label_01F9: xa58d1d9c6fa55c59.AddColumn(field.Real); xa58d1d9c6fa55c59.AddColumn(field.Max); xa58d1d9c6fa55c59.AddColumn(field.Min); xa58d1d9c6fa55c59.AddColumn(field.Mean); xa58d1d9c6fa55c59.AddColumn(field.StandardDeviation); xa58d1d9c6fa55c59.WriteLine(); num++; if (8 == 0) { goto Label_0062; } goto Label_01B3; Label_031C: if (3 == 0) { goto Label_0045; } xa58d1d9c6fa55c59.AddColumn("name"); Label_0331: xa58d1d9c6fa55c59.AddColumn("isclass"); xa58d1d9c6fa55c59.AddColumn("iscomplete"); Label_0347: xa58d1d9c6fa55c59.AddColumn("isint"); if ((((uint) num) & 0) == 0) { xa58d1d9c6fa55c59.AddColumn("isreal"); xa58d1d9c6fa55c59.AddColumn("amax"); xa58d1d9c6fa55c59.AddColumn("amin"); xa58d1d9c6fa55c59.AddColumn("mean"); xa58d1d9c6fa55c59.AddColumn("sdev"); xa58d1d9c6fa55c59.WriteLine(); fieldArray = this._x594135906c55045c.Fields; num = 0; goto Label_01B3; } Label_0369: if ((((uint) num) & 0) == 0) { xa58d1d9c6fa55c59.AddColumn(field.Name); xa58d1d9c6fa55c59.AddColumn(field.Class); if ((((uint) num2) + ((uint) num)) < 0) { goto Label_0347; } } xa58d1d9c6fa55c59.AddColumn(field.Complete); xa58d1d9c6fa55c59.AddColumn(field.Integer); goto Label_01F9; }
private static void WriteLink(EncogWriteHelper xout, NEATLink link) { xout.AddColumn((int) link.FromNeuron.NeuronID); xout.AddColumn((int) link.ToNeuron.NeuronID); xout.AddColumn(link.Recurrent); xout.AddColumn(link.Weight); xout.WriteLine(); }
/// <inheritdoc/> public void Save(Stream os, Object obj) { var xout = new EncogWriteHelper(os); var net = (RBFNetwork) obj; var flat = (FlatNetworkRBF) net.Flat; xout.AddSection("RBF-NETWORK"); xout.AddSubSection("PARAMS"); xout.AddProperties(net.Properties); xout.AddSubSection("NETWORK"); xout.WriteProperty(BasicNetwork.TagBeginTraining, flat.BeginTraining); xout.WriteProperty(BasicNetwork.TagConnectionLimit, flat.ConnectionLimit); xout.WriteProperty(BasicNetwork.TagContextTargetOffset, flat.ContextTargetOffset); xout.WriteProperty(BasicNetwork.TagContextTargetSize, flat.ContextTargetSize); xout.WriteProperty(BasicNetwork.TagEndTraining, flat.EndTraining); xout.WriteProperty(BasicNetwork.TagHasContext, flat.HasContext); xout.WriteProperty(PersistConst.InputCount, flat.InputCount); xout.WriteProperty(BasicNetwork.TagLayerCounts, flat.LayerCounts); xout.WriteProperty(BasicNetwork.TagLayerFeedCounts, flat.LayerFeedCounts); xout.WriteProperty(BasicNetwork.TagLayerContextCount, flat.LayerContextCount); xout.WriteProperty(BasicNetwork.TagLayerIndex, flat.LayerIndex); xout.WriteProperty(PersistConst.Output, flat.LayerOutput); xout.WriteProperty(PersistConst.OutputCount, flat.OutputCount); xout.WriteProperty(BasicNetwork.TagWeightIndex, flat.WeightIndex); xout.WriteProperty(PersistConst.Weights, flat.Weights); xout.WriteProperty(BasicNetwork.TagBiasActivation, flat.BiasActivation); xout.AddSubSection("ACTIVATION"); foreach (IActivationFunction af in flat.ActivationFunctions) { xout.AddColumn(af.GetType().Name); foreach (double t in af.Params) { xout.AddColumn(t); } xout.WriteLine(); } xout.AddSubSection("RBF"); foreach (IRadialBasisFunction rbf in flat.RBF) { xout.AddColumn(rbf.GetType().Name); xout.AddColumn(rbf.Width); xout.AddColumn(rbf.Peak); foreach (double t in rbf.Centers) { xout.AddColumn(t); } xout.WriteLine(); } xout.Flush(); }
/// <summary> /// Save the data fields. /// </summary> /// /// <param name="xout">The output file.</param> private void SaveData(EncogWriteHelper xout) { SaveSubSection(xout, "DATA", "CONFIG"); xout.AddSubSection("STATS"); xout.AddColumn("name"); xout.AddColumn("isclass"); xout.AddColumn("iscomplete"); xout.AddColumn("isint"); xout.AddColumn("isreal"); xout.AddColumn("amax"); xout.AddColumn("amin"); xout.AddColumn("mean"); xout.AddColumn("sdev"); xout.WriteLine(); foreach (DataField field in _script.Fields) { xout.AddColumn(field.Name); xout.AddColumn(field.Class); xout.AddColumn(field.Complete); xout.AddColumn(field.Integer); xout.AddColumn(field.Real); xout.AddColumn(field.Max); xout.AddColumn(field.Min); xout.AddColumn(field.Mean); xout.AddColumn(field.StandardDeviation); xout.WriteLine(); } xout.Flush(); xout.AddSubSection("CLASSES"); xout.AddColumn("field"); xout.AddColumn("code"); xout.AddColumn("name"); xout.WriteLine(); foreach (DataField field in _script.Fields) { if (field.Class) { foreach (AnalystClassItem col in field.ClassMembers) { xout.AddColumn(field.Name); xout.AddColumn(col.Code); xout.AddColumn(col.Name); xout.AddColumn(col.Count); xout.WriteLine(); } } } }
/// <summary> /// Save the object. /// </summary> /// <param name="os">The stream to write to.</param> /// <param name="obj">The object to save.</param> public virtual void Save(Stream os, Object obj) { var xout = new EncogWriteHelper(os); var pop = (NEATPopulation) obj; xout.AddSection("NEAT-POPULATION"); xout.AddSubSection("CONFIG"); xout.WriteProperty(PersistConst.Snapshot, pop.Snapshot); xout.WriteProperty(NEATPopulation.PropertyOutputActivation, pop.OutputActivationFunction); xout.WriteProperty(NEATPopulation.PropertyNEATActivation, pop.NeatActivationFunction); xout.WriteProperty(PersistConst.InputCount, pop.InputCount); xout.WriteProperty(PersistConst.OutputCount, pop.OutputCount); xout.WriteProperty(PopulationConst.PropertyOldAgePenalty, pop.OldAgePenalty); xout.WriteProperty(PopulationConst.PropertyOldAgeThreshold, pop.OldAgeThreshold); xout.WriteProperty(PopulationConst.PropertyPopulationSize, pop.PopulationSize); xout.WriteProperty(PopulationConst.PropertySurvivalRate, pop.SurvivalRate); xout.WriteProperty(PopulationConst.PropertyYoungAgeThreshold, pop.YoungBonusAgeThreshold); xout.WriteProperty(PopulationConst.PropertyYoungAgeBonus, pop.YoungScoreBonus); xout.WriteProperty(PopulationConst.PropertyNextGenomeID, pop.GenomeIDGenerate.CurrentID); xout.WriteProperty(PopulationConst.PropertyNextInnovationID, pop.InnovationIDGenerate.CurrentID); xout.WriteProperty(PopulationConst.PropertyNextGeneID, pop.GeneIDGenerate.CurrentID); xout.WriteProperty(PopulationConst.PropertyNextSpeciesID, pop.SpeciesIDGenerate.CurrentID); xout.AddSubSection("INNOVATIONS"); if (pop.Innovations != null) { foreach (IInnovation innovation in pop.Innovations.Innovations) { var neatInnovation = (NEATInnovation) innovation; xout.AddColumn(neatInnovation.InnovationID); xout.AddColumn(InnovationTypeToString(neatInnovation.InnovationType)); xout.AddColumn(NeuronTypeToString(neatInnovation.NeuronType)); xout.AddColumn(neatInnovation.SplitX); xout.AddColumn(neatInnovation.SplitY); xout.AddColumn(neatInnovation.NeuronID); xout.AddColumn(neatInnovation.FromNeuronID); xout.AddColumn(neatInnovation.ToNeuronID); xout.WriteLine(); } } xout.AddSubSection("GENOMES"); foreach (IGenome genome in pop.Genomes) { var neatGenome = (NEATGenome) genome; xout.AddColumn("g"); xout.AddColumn(neatGenome.GenomeID); xout.AddColumn(neatGenome.SpeciesID); xout.AddColumn(neatGenome.AdjustedScore); xout.AddColumn(neatGenome.AmountToSpawn); xout.AddColumn(neatGenome.NetworkDepth); xout.AddColumn(neatGenome.Score); xout.WriteLine(); foreach (IGene neuronGene in neatGenome.Neurons.Genes) { var neatNeuronGene = (NEATNeuronGene) neuronGene; xout.AddColumn("n"); xout.AddColumn(neatNeuronGene.Id); xout.AddColumn(NeuronTypeToString(neatNeuronGene.NeuronType)); xout.AddColumn(neatNeuronGene.Enabled); xout.AddColumn(neatNeuronGene.InnovationId); xout.AddColumn(neatNeuronGene.ActivationResponse); xout.AddColumn(neatNeuronGene.SplitX); xout.AddColumn(neatNeuronGene.SplitY); xout.WriteLine(); } foreach (IGene linkGene in neatGenome.Links.Genes) { var neatLinkGene = (NEATLinkGene) linkGene; xout.AddColumn("l"); xout.AddColumn(neatLinkGene.Id); xout.AddColumn(neatLinkGene.Enabled); xout.AddColumn(neatLinkGene.Recurrent); xout.AddColumn(neatLinkGene.FromNeuronID); xout.AddColumn(neatLinkGene.ToNeuronID); xout.AddColumn(neatLinkGene.Weight); xout.AddColumn(neatLinkGene.InnovationId); xout.WriteLine(); } } xout.AddSubSection("SPECIES"); foreach (ISpecies species in pop.Species) { xout.AddColumn(species.SpeciesID); xout.AddColumn(species.Age); xout.AddColumn(species.BestScore); xout.AddColumn(species.GensNoImprovement); xout.AddColumn(species.NumToSpawn); xout.AddColumn(species.SpawnsRequired); xout.AddColumn(species.Leader.GenomeID); xout.WriteLine(); } xout.Flush(); }
/// <summary> /// Save segregate info. /// </summary> /// /// <param name="xout">The output file.</param> private void SaveSegregate(EncogWriteHelper xout) { SaveSubSection(xout, "SEGREGATE", "CONFIG"); xout.AddSubSection("FILES"); xout.AddColumn("file"); xout.AddColumn("percent"); xout.WriteLine(); foreach (AnalystSegregateTarget target in _script.Segregate.SegregateTargets) { xout.AddColumn(target.File); xout.AddColumn(target.Percent); xout.WriteLine(); } }
private void x312a5c458079831e(EncogWriteHelper xa58d1d9c6fa55c59) { AnalystSegregateTarget[] segregateTargets; int num; this.x4ec53e22935ca8a4(xa58d1d9c6fa55c59, "SEGREGATE", "CONFIG"); if (((uint) num) >= 0) { goto Label_007E; } Label_0023: xa58d1d9c6fa55c59.WriteLine(); num++; Label_002D: if (num < segregateTargets.Length) { AnalystSegregateTarget target = segregateTargets[num]; if (4 != 0) { if (15 != 0) { xa58d1d9c6fa55c59.AddColumn(target.File); xa58d1d9c6fa55c59.AddColumn(target.Percent); if (15 == 0) { return; } goto Label_0023; } goto Label_009F; } } else { return; } Label_007E: xa58d1d9c6fa55c59.AddSubSection("FILES"); xa58d1d9c6fa55c59.AddColumn("file"); xa58d1d9c6fa55c59.AddColumn("percent"); Label_009F: xa58d1d9c6fa55c59.WriteLine(); segregateTargets = this._x594135906c55045c.Segregate.SegregateTargets; num = 0; if ((((uint) num) - ((uint) num)) < 0) { goto Label_009F; } goto Label_002D; }