Пример #1
0
        private static Neiron NeironCreate(Dictionary <string, object> o)
        {
            Neiron res = new Neiron();

            res.name         = (string)o["name"];
            res.countTrainig = (int)o["countTrainig"];

            //---
            //TODO win
            //Object[] weightData = (Object[])o["veight"];

            //TODO lin
            Object[] weightData = ((ArrayList)o["veight"]).ToArray();
            //---

            int arrSize = (int)Math.Sqrt(weightData.Length);

            res.veight = new double[arrSize, arrSize];
            int index = 0;

            for (int n = 0; n < res.veight.GetLength(0); n++)
            {
                for (int m = 0; m < res.veight.GetLength(1); m++)
                {
                    res.veight[n, m] = Double.Parse(weightData[index].ToString());
                    index++;
                }
            }
            return(res);
        }
Пример #2
0
        public void SetTraining(string trainingName, int[,] data)
        {
            Neiron neiron = neironArray.Find(v => v.name.Equals(trainingName));

            if (neiron == null)
            {
                neiron = new Neiron();
                neiron.Clear(trainingName, neironInArrayWidth, neironInArrayHeight);
                neironArray.Add(neiron);
            }
            int countTrainig = neiron.Training(data);
            //MessageBox.Show("litera - " + neiron.GetName() + " count training = " + countTrainig.ToString());
        }
Пример #3
0
        // эта функция заносит в память нейрона с именем trainingName
        // новый вариант образа data

        public void SetTraining(string trainingName, int[,] data)
        {
            Neiron neiron = neironArray.Find(v => v.name.Equals(trainingName));

            if (neiron == null) // если нейрона с таким именем не существует, создадим новыи и добавим
            {                   // его в массив нейронов
                neiron = new Neiron();
                neiron.Clear(trainingName, neironInArrayWidth, neironInArrayHeight);
                neironArray.Add(neiron);
            }
            int    countTrainig = neiron.Training(data); // обучим нейрон новому образу
            string messageStr   = "Имя образа - " + neiron.GetName() +
                                  " вариантов образа в памяти - " + countTrainig.ToString();
        }
Пример #4
0
        // эта функция заносит в память нейрона с именем trainingName
        // новый вариант образа data

        public void SetTraining(string trainingName, int[,] data)
        {
            Neiron neiron = neironArray.Find(v => v.name.Equals(trainingName));

            if (neiron == null) // если нейрона с таким именем не существует, создадим новыи и добавим
            {                   // его в массив нейронов
                neiron = new Neiron();
                neiron.Clear(trainingName, neironInArrayWidth, neironInArrayHeight);
                neironArray.Add(neiron);
            }
            int    countTrainig = neiron.Training(data); // обучим нейрон новому образу
            string messageStr   = "Имя образа - " + neiron.GetName() +
                                  " вариантов образа в памяти - " + countTrainig.ToString();

            // покажем визуальное отображение памяти обученного нейрона
            Form resultForm = new ShowMemoryVeight(neiron);

            resultForm.Text = messageStr;
            resultForm.Show();
        }
Пример #5
0
 public ShowMemoryVeight(Neiron neiron)
 {
     InitializeComponent();
     this.neiron = neiron;
 }