private void NetworkLayers_SelectedIndexChanged(object sender, EventArgs e) { if (IsActivated) { var layer = NetworkLayers.SelectedIndex; ActivationMapsScroll.Enabled = true; ActivationMapsScroll.Value = 0; ActivationMapsScroll.Minimum = 0; ActivationMapsScroll.Maximum = cnn.Layers[layer].Activation.i - 1; var map = ActivationMapsScroll.Value; ActivationX.Text = cnn.Layers[layer].Activation.x.ToString("D", ManagedMatrix.ci); ActivationY.Text = cnn.Layers[layer].Activation.y.ToString("D", ManagedMatrix.ci); ActivationMapsTextBox.Text = map.ToString("D", ManagedMatrix.ci); DrawActivationMap(layer, map); if (layer >= 0 && layer < cnn.Layers.Count && cnn.Layers[layer].Type != LayerTypes.Convolution) { FeatureMapPanel.Hide(); FeatureMapJ.Enabled = false; FeatureMapI.Enabled = false; } else { FeatureMapPanel.Show(); FeatureMapJ.Enabled = true; FeatureMapI.Enabled = true; FeatureMapJ.Value = 0; FeatureMapJ.Minimum = 0; FeatureMapJ.Maximum = cnn.Layers[layer].FeatureMap.j - 1; FeatureMapI.Value = 0; FeatureMapI.Minimum = 0; FeatureMapI.Maximum = cnn.Layers[layer].FeatureMap.i - 1; var i = FeatureMapI.Value; var j = FeatureMapJ.Value; FeatureMapX.Text = cnn.Layers[layer].FeatureMap.x.ToString("D", ManagedMatrix.ci); FeatureMapY.Text = cnn.Layers[layer].FeatureMap.y.ToString("D", ManagedMatrix.ci); FeatureMapIText.Text = i.ToString("D", ManagedMatrix.ci); FeatureMapJText.Text = j.ToString("D", ManagedMatrix.ci); DrawFeatureMap(layer, i, j); } } }
void InitializeUI() { Digit = new Bitmap(DigitBox.Width, DigitBox.Height); CopyBitmap(Digit); CopyClassification(); OpenImageDialog = new OpenFileDialog(); OpenImageDialog.InitialDirectory = BaseDirectory; OpenImageDialog.Filter = "png files (*.png)|*.png|jpg files (*.jpg)|*.jpg|bmp files (*.bmp)|*.bmp|All files (*.*)|*.*"; OpenImageDialog.FilterIndex = 1; for (int i = 0; i < cnn.Layers.Count; i++) { if (cnn.Layers[i].Type == LayerTypes.Input) { NetworkLayers.Items.Add(String.Format("{0} Input", i)); } else if (cnn.Layers[i].Type == LayerTypes.Convolution) { NetworkLayers.Items.Add(String.Format("{0} Convolution", i)); } else if (cnn.Layers[i].Type == LayerTypes.Subsampling) { NetworkLayers.Items.Add(String.Format("{0} Subsampling / Pooling", i)); } } Probability0.ReadOnly = true; Probability1.ReadOnly = true; Probability2.ReadOnly = true; Probability3.ReadOnly = true; Probability4.ReadOnly = true; Probability5.ReadOnly = true; Probability6.ReadOnly = true; Probability7.ReadOnly = true; Probability8.ReadOnly = true; Probability9.ReadOnly = true; FeatureMapPanel.Hide(); }