public static void Train_CNN_Hyperheuristic() { #region 1. LECTURA DE DATOS DE ENTRENAMIENTO Console.WriteLine($"LECTURA DE DATOS DE ENTRENAMIENTO: {DateTime.Now}"); int mainCategorie = 0; //Buscará números 0 (clase) Data[] DataSetTrain = DataHelper.ImportData_MNIST_TrainOneCat(TrainImages, TrainLabels, mainCategorie, 1500); //Es imprecindible que la categoría principal deba ir al inicio //Aquí se leerán N cantidad de imágenes del número 3 y de los que sigan int[] Categories = { mainCategorie, 3 }; Data[] DataSetTest = DataHelper.ImportData_MNIST_TestOneCat(TestImages, TestLabels, Categories, 500); #endregion #region 2. INVOCAR AL MÉTODO DE ENTRENAMIENTO DE ARQUITECTURAS Console.WriteLine($"COMIENZO DEL ENTRENAMIENTO: {DateTime.Now}"); EvoAIndividual[] BestArchs = Trainers.Hyperheuristic_Trainning(DataSetTrain, DataSetTest, Categories.Length); #endregion #region 3. MOSTRAR LOS RESULTADOS Console.WriteLine("RESULTADOS:"); for (int ixR = 0; ixR < 4; ixR++) { string data = DataHelper.GetArchIndividualData(BestArchs[ixR]); Console.WriteLine($"{ixR + 1}° LUGAR"); Console.WriteLine(data); string[] Summary = BestArchs[ixR].TrainingSummary; string summ = ""; for (int ixS = 0; ixS < Summary.Length; ixS++) { summ += " - " + Summary[ixS]; Console.WriteLine($"{Summary[ixS]}"); } Console.WriteLine($"GUARDANDO EL MODELO COMPLETO EN UN TXT..."); string Fecha = $"{DateTime.Now.ToString("dd-MM-yyyy_HH_mm")}"; DataHelper.WriteConvolutionalNeuralNetworkModel(BestArchs[ixR].TrainedCNN, BestArchs[ixR].TrainedNN, CarpetaModelos, $"Hiperheuristica_{Fecha}_{ixR + 1}_Lugar", $"{data} ---- {summ}"); Console.WriteLine(""); } Console.WriteLine("LOS MODELOS FUERON GUARDADOS EN LA RUTA " + CarpetaModelos); Console.WriteLine("PRESIONE 'ENTER' PARA FINALIZAR EL PROGRAMA"); Console.ReadLine(); #endregion }