static void Main() { do { Console.Clear(); Console.WriteLine("MENU: \n 1 - Treinar \n 2 - Carregar Rede Neural \n 3 - Salvar Rede Neural \n 4 - Executar \n 0 - Sair"); var op = Console.ReadKey().KeyChar; if (op == '1')//treinar { using (var ofd = new OpenFileDialog() { Filter = "Arquivo Treino File|*.txt", Title = "Selecione o arquivo de treino: " }) { if (ofd.ShowDialog() == DialogResult.OK) { using (var ofd2 = new OpenFileDialog() { Filter = "Arquivo Treino File|*.txt", Title = "Selecione o arquivo de treino: " }) { Console.Clear(); Console.WriteLine("Aguarde..."); var neuralFile_A = File.ReadAllLines(ofd.FileName); var pc_A = PointsConvertor.Converter(neuralFile_A); PointsConverted pc_B = null; if (ofd2.ShowDialog() == DialogResult.OK) { var neuralFile_B = File.ReadAllLines(ofd2.FileName); pc_B = PointsConvertor.Converter(neuralFile_B); } var inicio = DateTime.Now; MLP.Train(pc_A, pc_B); Console.WriteLine("Treino realizado com sucesso \n Inicio: " + inicio.ToLongTimeString() + " \n Fim: " + DateTime.Now.ToLongTimeString()); Console.ReadKey(); } } } } else if (op == '2')//carregar rede neural { using (var ofd = new OpenFileDialog() { Filter = "MLP Files|*.mlp", Title = "Selecione o arquivo de rede neural: " }) { if (ofd.ShowDialog() == DialogResult.OK) { try { Console.Clear(); Console.WriteLine("Aguarde..."); MLP.LoadNetwork(ofd.FileName); Console.WriteLine("Rede neural recarregada com sucesso."); Console.ReadKey(); } catch (Exception) { Console.WriteLine("Erro na leitura dos dados."); Console.ReadKey(); } } } } else if (op == '3')//salvar rede neural { using (var ofd = new SaveFileDialog() { Filter = "MLP Files|*.mlp", Title = "Salve o arquivo de rede neural: " }) { if (ofd.ShowDialog() == DialogResult.OK) { Console.Clear(); Console.WriteLine("Aguarde..."); var retorno = MLP.SaveNetwork(ofd.FileName); Console.WriteLine("Arquivo salvo em: " + retorno); Console.ReadKey(); } } } else if (op == '4')//executar simulação { Console.Clear(); Console.WriteLine("Aguarde..."); Executa(); } }while (true); }
static void Main(string[] args) { using (var ofd_A = new OpenFileDialog() { Filter = "Arquivo Treino File|*.txt", Title = "Selecione o arquivo de treino: " }) { if (ofd_A.ShowDialog() == DialogResult.OK) { using (var ofd_B = new OpenFileDialog() { Filter = "Arquivo Treino File|*.txt", Title = "Selecione o arquivo de treino: " }) { if (ofd_B.ShowDialog() == DialogResult.OK) { Console.Clear(); Console.WriteLine("Aguarde..."); var neuralFile_A = File.ReadAllLines(ofd_A.FileName); var pc_A = PointsConvertor.Converter(neuralFile_A); var neuralFile_b = File.ReadAllLines(ofd_B.FileName); var pc_B = PointsConvertor.Converter(neuralFile_b); //NEURAL FILE A for (int i = 1; i <= 16; i++) { var trainingSet = new BasicNeuralDataSet(pc_A.entrada, pc_A.saida); ResetEstrutura(i); double erro = ResultTreinamento(i, trainingSet, 5000); Console.WriteLine($"Neuronios: {i} | error: {erro}"); } for (int i = 1; i <= 16; i++) { var trainingSet = new BasicNeuralDataSet(pc_A.entrada, pc_A.saida); ResetEstrutura(i); double erro = ResultTreinamento(i, trainingSet, 20000); Console.WriteLine($"Neuronios: {i} | error: {erro}"); } //NEURAL FILE B Console.WriteLine("==============="); for (int i = 1; i <= 16; i++) { var trainingSet = new BasicNeuralDataSet(pc_B.entrada, pc_B.saida); ResetEstrutura(i); double erro = ResultTreinamento(i, trainingSet, 5000); Console.WriteLine($"Neuronios: {i} | error: {erro}"); } for (int i = 1; i <= 16; i++) { var trainingSet = new BasicNeuralDataSet(pc_B.entrada, pc_B.saida); ResetEstrutura(i); double erro = ResultTreinamento(i, trainingSet, 20000); Console.WriteLine($"Neuronios: {i} | error: {erro}"); } //NEURAL FILE A + B pc_A.Juntar(pc_B); Console.WriteLine("==============="); for (int i = 1; i <= 16; i++) { var trainingSet = new BasicNeuralDataSet(pc_A.entrada, pc_A.saida); ResetEstrutura(i); double erro = ResultTreinamento(i, trainingSet, 5000); Console.WriteLine($"Neuronios: {i} | error: {erro}"); } for (int i = 1; i <= 16; i++) { var trainingSet = new BasicNeuralDataSet(pc_A.entrada, pc_A.saida); ResetEstrutura(i); double erro = ResultTreinamento(i, trainingSet, 20000); Console.WriteLine($"Neuronios: {i} | error: {erro}"); } Console.ReadKey(); } } } } }