public NeuroNet neuroNet;// = NeuroNet.CreateNeuroNet(new int[] {400, 15, 1 }, new NeuroData(1000, 0.3f)); public NeuroWork(int offset, int number_of_passes, float edukationK) { neuroNet = NeuroNet.CreateNeuroNet(new int[] { offset *offset, offset, 1 }, new NeuroData(number_of_passes, edukationK)); this.offset = offset; PreShow = new Bitmap(offset, offset); start_signals = new int[offset * offset]; }
public static NeuroNet LoadNeuroNet(string filePath) { NeuroNet neuroNet; using (StreamReader reader = new StreamReader(filePath)) { NeuroData neuroData = NeuroData.LoadNeuroData(reader); int number_of_layers = Convert.ToInt32(reader.ReadLine()); int[] layers = new int[number_of_layers]; for (int i = 0; i < number_of_layers; i++) { layers[i] = Convert.ToInt32(reader.ReadLine()); } neuroNet = NeuroNet.CreateNeuroNet(layers, neuroData); for (int i = 0; i < neuroNet.neuroLayer.Length; i++) { for (int j = 0; j < neuroNet.neuroLayer[i].Neurons.Length; j++) { for (int k = 0; k < neuroNet.neuroLayer[i].Neurons[j].weights.Length; k++) { neuroNet.neuroLayer[i].Neurons[j].weights[k] = Convert.ToSingle(reader.ReadLine()); } } if (i < neuroNet.neuroLayer.Length - 1) { for (int k = 0; k < neuroNet.neuroLayer[i + 1].Neurons.Length; k++) { neuroNet.neuroLayer[i].AdditionalNeuron.weights[k] = Convert.ToSingle(reader.ReadLine()); } } } } return(neuroNet); }