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; }
public DrawingForm() { InitializeComponent(); bitmap = new Bitmap(pictureBox_NeuroWorking.Width, pictureBox_NeuroWorking.Height); gr = Graphics.FromImage(bitmap); net = new StandartNet(2, 6, 4, 1); knet = new KochonenNet(3, 4); //pictureBox_NeuroShedule.Image = DrawNeuronet(pictureBox_NeuroShedule.Width, pictureBox_NeuroShedule.Height); pictureBox_NeuroShedule.Image = PointNeuron.Draw(net, pictureBox_NeuroShedule.Width, pictureBox_NeuroShedule.Height, out listPointNeuron); net.ClearImps(); }
private void button_Load_Click(object sender, EventArgs e) { net.LoadXml(localpath); pictureBox_NeuroShedule.Image = PointNeuron.Draw(net, pictureBox_NeuroShedule.Width, pictureBox_NeuroShedule.Height, out listPointNeuron); }