Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/08/11 13:40:48 (13 years ago)
Author:
gkronber
Message:

#1474 added (conditional) parameter hiding

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkClassification.cs

    r6649 r6720  
    113113    private NeuralNetworkClassification(NeuralNetworkClassification original, Cloner cloner)
    114114      : base(original, cloner) {
     115      RegisterEventHandlers();
    115116    }
    116117    public NeuralNetworkClassification()
    117118      : base() {
    118       var validHiddenLayerValues = new ItemSet<IntValue>(new IntValue[] { new IntValue(0), new IntValue(1), new IntValue(2) });
     119      var validHiddenLayerValues = new ItemSet<IntValue>(new IntValue[] {
     120        (IntValue)new IntValue(0).AsReadOnly(),
     121        (IntValue)new IntValue(1).AsReadOnly(),
     122        (IntValue)new IntValue(2).AsReadOnly() });
    119123      var selectedHiddenLayerValue = (from v in validHiddenLayerValues
    120124                                      where v.Value == 1
     
    127131      Parameters.Add(new FixedValueParameter<IntValue>(RestartsParameterName, "The number of restarts for learning.", new IntValue(2)));
    128132
     133      RestartsParameter.Hidden = true;
     134      NodesInSecondHiddenLayerParameter.Hidden = true;
     135
     136      RegisterEventHandlers();
     137
    129138      Problem = new ClassificationProblem();
    130139    }
     140
     141    private void RegisterEventHandlers() {
     142      HiddenLayersParameter.Value.ValueChanged += HiddenLayersParameterValueValueChanged;
     143      HiddenLayersParameter.ValueChanged += HiddenLayersParameterValueChanged;
     144    }
     145
    131146    [StorableHook(HookType.AfterDeserialization)]
    132     private void AfterDeserialization() { }
     147    private void AfterDeserialization() {
     148      RegisterEventHandlers();
     149    }
    133150
    134151    public override IDeepCloneable Clone(Cloner cloner) {
    135152      return new NeuralNetworkClassification(this, cloner);
     153    }
     154    private void HiddenLayersParameterValueChanged(object source, EventArgs e) {
     155      HiddenLayersParameter.Value.ValueChanged += HiddenLayersParameterValueValueChanged;
     156      HiddenLayersParameterValueValueChanged(this, EventArgs.Empty);
     157    }
     158
     159    private void HiddenLayersParameterValueValueChanged(object source, EventArgs e) {
     160      if (HiddenLayers == 0) {
     161        NodesInFirstHiddenLayerParameter.Hidden = true;
     162        NodesInSecondHiddenLayerParameter.Hidden = true;
     163      } else if (HiddenLayers == 1) {
     164        NodesInFirstHiddenLayerParameter.Hidden = false;
     165        NodesInSecondHiddenLayerParameter.Hidden = true;
     166      } else {
     167        NodesInFirstHiddenLayerParameter.Hidden = false;
     168        NodesInSecondHiddenLayerParameter.Hidden = false;
     169      }
    136170    }
    137171
Note: See TracChangeset for help on using the changeset viewer.