private void backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { iterations = 0; NetworkTeacher networkTeacher = new NetworkTeacher(_network, 0.00001); List <Car> carsForTeaching = new List <Car>(); Cars = new DataNormalizer(Cars).Normalize(); foreach (var index in CarsChekedBox.CheckedIndices) { carsForTeaching.Add(Cars[(int)index]); } //MessageBox.Show("Выбрано " + carsForTeaching.Count + " авто для обучения."); double err = networkTeacher.Teach(carsForTeaching); double tmp = Convert.ToDouble(e.Argument); while (err > tmp) { err = networkTeacher.Teach(carsForTeaching); iterations++; //backgroundWorker1.ReportProgress((int)err, "error"); } }
static void Main(string[] args) { int trainStartCount = 13821; int trainEndCount = 16420; // Для блочного обучения указать: int startDataSetIndex = 296848; int endDataSetIndex = 306848; #region Set process settings Process thisProc = Process.GetCurrentProcess(); thisProc.PriorityClass = ProcessPriorityClass.High; #endregion const int receptors = 75; const int numberOfOutputClasses = 1; // Количество наших классов int[] neuronByLayer = { 50, 50, numberOfOutputClasses }; _fileManager = new FileManager(); var networkTeacher = new NetworkTeacher(neuronByLayer, receptors, 13, _fileManager) { Iteration = trainEndCount, TestVectors = _fileManager.ReadVectors("inputDataTestPart_temp.txt") }; //networkTeacher.PreparingLearningData(true); if (networkTeacher.CheckMemory()) { networkTeacher.TrainNet(startDataSetIndex, endDataSetIndex, trainStartCount); networkTeacher.CommonTestColorized(); networkTeacher.Visualize(); networkTeacher.PrintLearnStatistic(startDataSetIndex, endDataSetIndex, true); if (networkTeacher.CheckMemory()) { networkTeacher.BackupMemory(); } } else { Console.WriteLine("Train failed!"); } Console.ReadKey(); }
static void Main(string[] args) { int trainStartCount = 0; int trainEndCount = 10000; #region Set process settings Process thisProc = Process.GetCurrentProcess(); thisProc.PriorityClass = ProcessPriorityClass.High; #endregion const int receptors = 75; const int numberOfOutputClasses = 1; // Количество наших классов int[] neuronByLayer = { 50, 50, numberOfOutputClasses }; _fileManager = new FileManager(); var networkTeacher = new NetworkTeacher(neuronByLayer, receptors, 46, _fileManager) { Iteration = trainEndCount, TestVectors = _fileManager.ReadVectors("inputDataTestPart_temp.txt") }; networkTeacher.PreparingLearningData(false); if (networkTeacher.CheckMemory()) { networkTeacher.TrainNet(trainStartCount); networkTeacher.CommonTestColorized(); networkTeacher.PrintLearnStatistic(true); if (networkTeacher.CheckMemory()) { networkTeacher.BackupMemory(); } } else { Console.WriteLine("Train failed!"); } Console.ReadKey(); }