private void LoadConfig()
        {
            RandomizeMode.Helper.FillComboBox(CtlRandomizer, Config, Const.Param.RandomizeMode, nameof(RandomizeMode.Random));
            CtlRandomizerParamA.Load(Config);
            CtlLearningRate.Load(Config);
            var color = Config.GetArray(Const.Param.Color, "255,255,255,255");

            CtlColor.BackColor = Color.FromArgb((int)color[0], (int)color[1], (int)color[2], (int)color[3]);

            //

            CtlTabsLayers.SuspendLayout();
            var layers = Config.GetArray(Const.Param.Layers);

            var inputLayerId  = layers.Length > 0 ? layers[0] : Const.UnknownId;
            var outputLayerId = layers.Length > 0 ? layers[layers.Length - 1] : Const.UnknownId;

            InputLayer = new InputLayerControl(inputLayerId, Config, OnNetworkUIChanged);
            CtlTabInput.Controls.Add(InputLayer);

            OutputLayer = new OutputLayerControl(outputLayerId, Config, OnNetworkUIChanged);
            CtlTabOutput.Controls.Add(OutputLayer);

            Range.ForEach(layers, l =>
            {
                if (l != layers.First() && l != layers.Last())
                {
                    AddLayer(l);
                }
            });

            CtlTabsLayers.SelectedIndex = Config.GetInt(Const.Param.SelectedLayerIndex, 0).Value;
            CtlTabsLayers.ResumeLayout();
        }
Beispiel #2
0
 public void DeleteLayer()
 {
     if (System.Windows.MessageBox.Show($"Would you really like to delete layer L{CtlTabsLayers.SelectedIndex + 1}?", "Confirm", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
     {
         SelectedLayer.VanishConfig();
         CtlTabsLayers.Items.Remove(CtlTabsLayers.SelectedTab());
         ResetLayersTabsNames();
         OnNetworkUIChanged(Notification.ParameterChanged.Structure);
     }
 }
Beispiel #3
0
        public ListX <LayerBase> GetLayersControls()
        {
            var result = new ListX <LayerBase>(CtlTabsLayers.Items.Count);

            for (int i = 0; i < CtlTabsLayers.Items.Count; ++i)
            {
                result.Add(CtlTabsLayers.Tab(i).FindVisualChildren <LayerBase>().First());
            }
            return(result);
        }
Beispiel #4
0
        public void ResetLayersTabsNames()
        {
            var layers = GetLayersControls();

            for (int i = 0; i < layers.Count; ++i)
            {
                if (layers[i].IsInput)
                {
                    CtlTabsLayers.Tab(i).Header = $"Input ({layers[i].NeuronsCount})";
                }
                else if (layers[i].IsOutput)
                {
                    CtlTabsLayers.Tab(i).Header = $"Output ({layers[i].NeuronsCount})";
                }
                else
                {
                    CtlTabsLayers.Tab(i).Header = $"L{i} ({layers[i].NeuronsCount})";
                }
            }
        }
 public void ResizeEnd()
 {
     CtlTabsLayers.ResumeLayout();
 }
 public void ResizeBegin()
 {
     CtlTabsLayers.SuspendLayout();
 }
 protected override void OnResize(EventArgs e)
 {
     CtlTabsLayers.SuspendLayout();
     base.OnResize(e);
     CtlTabsLayers.ResumeLayout();// .Visible = true;
 }