private void button_Koh_Click(object sender, EventArgs e)
        {
            gr.Clear(BackColor);
            for (int i = 0; i < knet.HiddenLayers.Count; i++)
            {
                for (int j = 0; j < knet.HiddenLayers[i].neurons.Count; j++)
                {
                    VectorRGB s = new VectorRGB(
                        knet.HiddenLayers[i].neurons[j].inLinks[0].w,
                        knet.HiddenLayers[i].neurons[j].inLinks[1].w,
                        knet.HiddenLayers[i].neurons[j].inLinks[2].w
                        );

                    gr.DrawEllipse(new Pen(s.ToColor(), 10), 20 * (i + 1), 50 * (j + 1), 20, 20);
                    neuroPoint.Add(new Point(20 * (i + 1), 50 * (j + 1) + 10));
                }
            }

            double koefKoh = 1.3, addingKoef = 0.1;

            for (int i = 0; i < vectors.Count; i++)
            {
                knet.InputLayer.neurons[0].imp = vectors[i].r / 255d;
                knet.InputLayer.neurons[1].imp = vectors[i].g / 255d;
                knet.InputLayer.neurons[2].imp = vectors[i].b / 255d;

                knet.RunIteration();

                int winneri = 0, winnerj = 0;

                var b = knet.Study(koefKoh, out winneri, out winnerj, addingKoef);

                if (b)
                {
                    pictureBox_NeuroShedule.Image = PointNeuron.Draw(knet, pictureBox_NeuroShedule.Width, pictureBox_NeuroShedule.Height, out listPointNeuron);
                }

                //gr.DrawRectangle(new Pen(vectors[i].ToColor(), 10), (float)(pictureBox_NeuroWorking.Width * i / vectors.Count), neuroPoint[neunum].Y, 10, 10);

                knet.ClearImps();
            }

            //!
            textBoxInfo.Text = "";
            for (int i = 0; i < knet.HiddenLayers[0].neurons.Count; i++)
            {
                for (int j = 0; j < knet.HiddenLayers[0].neurons[i].inLinks.Count; j++)
                {
                    textBoxInfo.Text += "hl" + i + "," + j + ": " + knet.HiddenLayers[0].neurons[i].inLinks[j].w + Environment.NewLine;
                }
                textBoxInfo.Text += Environment.NewLine;
            }

            pictureBox_NeuroWorking.Image = bitmap;
        }
        /// <summary>
        /// Draws a layed out VectorRGB field in the inspector
        /// </summary>
        static public VectorRGB VectorRGBFieldLayout(VectorRGB value, GUIContent label)
        {
            Rect position = EditorGUILayout.GetControlRect();

            values [0] = value.r;
            values [1] = value.g;
            values [2] = value.b;

            EditorGUI.MultiFloatField(position, label, sublabels, values);

            value.r = values [0];
            value.g = values [1];
            value.b = values [2];
            return(value);
        }
 /// <summary>
 /// Try saving a VectorRGB into a SerializedProperty
 /// </summary>
 static public void ToProperty(SerializedProperty property, VectorRGB value)
 {
     property.FindPropertyRelative("r").floatValue = value.r;
     property.FindPropertyRelative("g").floatValue = value.g;
     property.FindPropertyRelative("b").floatValue = value.b;
 }