protected override void TrainIteration() { Session.Epoch = Session.Iteration; _evolver.CalculateFitness(); _alpha = _evolver.Population[0]; var watch = new Stopwatch(); watch.Start(); foreach (var net in _evolver.Population) { net.WeightsToChromosome(); } watch.Stop(); _wtc = watch.Elapsed; _evolver.Breed(); _evolver.Mutate(); watch.Restart(); foreach (var net in _evolver.Population) { net.ChromosomeToWeights(); } watch.Stop(); _ctw = watch.Elapsed; }
private EvolvableNet(EvolvableNet other) : base(other) { Fitness = other.Fitness; Chromosome = new float[LayersList.Sum(x => x.TotalParamCount)]; other.Chromosome.CopyTo(Chromosome, 0); //clones have different IDs! Id = GetId(); }