static void Main(string[] args) { Console.Title = "Neural Network Testing"; // Testing Neural Network giving it 3 input values for 100 times (testing with 520 neurons) Random random = new Random(); for (int i = 0; i < 100; i++) { NeuroNetwork net = new NeuroNetwork(3, new int[] { 100, 200, 200, 20 }, 1, random); double[] result = net.elaborate(new double[] { 0, .5, 0 }); foreach (double r in result) { if (r < .3) { Console.ForegroundColor = ConsoleColor.Red; } else if (r > .7) { Console.ForegroundColor = ConsoleColor.Green; } else { Console.ForegroundColor = ConsoleColor.White; } Console.WriteLine(r); } System.Threading.Thread.Sleep(10); } Console.ForegroundColor = ConsoleColor.White; Console.Write("\nPress a key to exit..."); Console.ReadLine(); }
private void GenerateWeights(int weights) { for (int i = 0; i < weights; i++) { Weights[i] = NeuroNetwork.GetRandomWeight(); } }
public void NtwrkSolve() { StringBuilder sb = new StringBuilder(); NeuroNetwork n = new NeuroNetwork(); Dictionary <int, NeuroSignal> input = new Dictionary <int, NeuroSignal>(); Dictionary <int, NeuroSignal> output = new Dictionary <int, NeuroSignal>(); input.Add(0, new NeuroSignal(0, 0.9)); output.Add(0, new NeuroSignal(0)); input.Add(1, new NeuroSignal(1, 0.1)); output.Add(1, new NeuroSignal(1)); input.Add(2, new NeuroSignal(2, 0.8)); output.Add(2, new NeuroSignal(2)); #region -> Log input data { sb.Append("Input data: {"); foreach (INeuroTransmitter val in input.Values) { sb.AppendFormat(" {0}", val); } sb.Append(" }"); sb.AppendLine(); } #endregion n.ProcessData(input.Values); #region -> Log output data { sb.Append("Iteration #1: {"); foreach (INeuroTransmitter val in n.SynapticKnobs) { sb.AppendFormat(" {0}", val); } sb.Append(" }"); sb.AppendLine(); } #endregion string txActual = sb.ToString(); string txExpctd = Data.CalculationLog; CompareResult( txActual, txExpctd, subDirName, "Calculation", "Calculation log changed"); }