private static void CreateImageForGen(int i) { PopulationManager pop = new PopulationManager(new RandomEnvironment()); if (File.Exists(String.Format(PopulationFile, i))) { FileStream stream = new FileStream(String.Format(PopulationFile, i), FileMode.Open); pop.LoadFromStream(stream); Console.WriteLine($"Loaded from file {String.Format(PopulationFile, i)}"); GeneOutput.CreatePopImage($"neattactoe_{i}.bmp", pop); } else { Console.WriteLine($"File {String.Format(PopulationFile, i)} not found."); } }
private static PopulationManager GeneratePopulation(int inputCount, int outputCount, int depth, int hiddenNeuronsPerLayer) { PopulationManager pop = new PopulationManager(new RandomEnvironment()); if (File.Exists(PopulationFileToLoad)) { FileStream stream = new FileStream(PopulationFileToLoad, FileMode.Open); pop.LoadFromStream(stream); Console.WriteLine($"Loaded from file {PopulationFileToLoad}"); } else { Console.WriteLine($"File {PopulationFileToLoad} not found, generating population at random"); pop.GeneratePopulation(30, hiddenNeuronsPerLayer * (inputCount + depth * hiddenNeuronsPerLayer + outputCount)); } return(pop); }
public void LoadFromStream_Should_Get_All_Population_DNA_From_Given_Stream() { int individuals = 5; MockRandomEnvironment.Setup(m => m.GetNextDouble(0, It.IsAny <double>())).Returns(0.1f); PopulationManager populationManagerTested = GetPopulationManager(); MemoryStream stream = new MemoryStream(); using (StreamWriter sw = new StreamWriter(stream, Encoding.UTF8, 1024, true)) { for (int i = 0; i < individuals; i++) { sw.WriteLine($"{i}:{i}:-1||1||-{i}||{i}"); } } stream.Position = 0; populationManagerTested.LoadFromStream(stream); populationManagerTested.Population.Should().HaveCount(individuals); }