public ConvolutionalNetwork(ConvolutionalChromosome chromosome, int epoch, string networkName) { this.epoch = epoch; indexNumber = chromosome.indexNumber; this.networkName = networkName; trainConstSpeed = chromosome.trainConstSpeed; optimizer = chromosome.optimizer; loss_function = chromosome.loss_function; outputs = chromosome.nrp.networkOutputNumb; batchSize = chromosome.nrp.batchSize; networkLearningEpochs = chromosome.nrp.epochs; slidingWindows = new List <int[]>(); convActivationIndexes = new List <int>(); filters = new List <int>(); denseActivationIndexes = new List <int>(); neurons = new List <int>(); denseDropoutIndexes = new List <int>(); denseDropoutRates = new List <int>(); convDropoutIndexes = new List <int>(); convDropoutRates = new List <int>(); for (int i = 0; i < chromosome.convPart.convLayers.Count; i++) { slidingWindows.Add(new int[2] { chromosome.convPart.convLayers[i].slidingWindow[0], chromosome.convPart.convLayers[i].slidingWindow[1] }); convActivationIndexes.Add(chromosome.convPart.convLayers[i].activationIndex); filters.Add(chromosome.convPart.convLayers[i].filters); if (chromosome.convPart.convLayers[i].dropoutExist) { convDropoutIndexes.Add(i); convDropoutRates.Add(chromosome.convPart.convLayers[i].dropoutRate); } } for (int i = 0; i < chromosome.densePart.denseLayers.Count; i++) { denseActivationIndexes.Add(chromosome.densePart.denseLayers[i].activationIndex); neurons.Add(chromosome.densePart.denseLayers[i].neurons); if (chromosome.densePart.denseLayers[i].dropoutExist) { denseDropoutIndexes.Add(i); denseDropoutRates.Add(chromosome.densePart.denseLayers[i].dropoutRate); } } }
/////////////////////////////////////////////////////// // new Process public void UpdateAssessmentParams(ConvolutionalChromosome chromosome, GeneticProgramm gp, int epoch) { instance.Invoke(new Action(() => { if (!instance.errDontClearChB.Checked) { instance.ErrorTB.Clear(); } if (!instance.chrDontClearChB.Checked) { instance.chrOutTB.Clear(); } })); ConvolutionalNetwork tempNet = new ConvolutionalNetwork(chromosome, epoch, gp._nrp.networkName); ConvolutionalNetwork.CreateNetworkScript(tempNet, chromosome.crp.convActivations, chromosome.drp.denseActivations); ConvolutionalNetwork.CreateConvBatFile("temp_convolution.py", @"C:\keras\Directory\scripts\convolutional\genetic", gp._nrp.datasetPath, gp._nrp._modelPath, gp._nrp._labelPath, gp._nrp._plotPath, gp._nrp.networkName, epoch, chromosome.indexNumber, 0); CreateConvBatProcess(); chromosome.accuracy = instance.tempAccuracy; chromosome.paramsCount = instance.tempParameters; }