diff --git a/Source/MainComponent.cpp b/Source/MainComponent.cpp index e504d76..9647f93 100644 --- a/Source/MainComponent.cpp +++ b/Source/MainComponent.cpp @@ -284,6 +284,10 @@ MainComponent::MainComponent () rbmTrainV2ToggleButton->setButtonText (TRANS("Train Ver. 2")); rbmTrainV2ToggleButton->addListener (this); + addAndMakeVisible (rbmNormalizeDataToggleButton = new ToggleButton ("rbmNormalizeData toggle button")); + rbmNormalizeDataToggleButton->setButtonText (TRANS("Normalize data")); + rbmNormalizeDataToggleButton->addListener (this); + //[UserPreSize] m_vNumX = 16; @@ -345,6 +349,7 @@ MainComponent::~MainComponent() sparsityLearningRateLabel = nullptr; weightInitLabel = nullptr; rbmTrainV2ToggleButton = nullptr; + rbmNormalizeDataToggleButton = nullptr; //[Destructor]. You can add your own custom destruction code here.. @@ -467,6 +472,7 @@ void MainComponent::resized() sparsityLearningRateLabel->setBounds (416, 320, 72, 24); weightInitLabel->setBounds (416, 368, 72, 24); rbmTrainV2ToggleButton->setBounds (336, 200, 128, 24); + rbmNormalizeDataToggleButton->setBounds (336, 232, 160, 24); //[UserResized] Add your own custom resize handling here.. DrawTraining->setBounds (16, 16, 100, 100); DrawReconstruction->setBounds (110+16, 16, 100, 100); @@ -629,6 +635,12 @@ void MainComponent::buttonClicked (Button* buttonThatWasClicked) //[UserButtonCode_rbmTrainV2ToggleButton] -- add your button handler code here.. //[/UserButtonCode_rbmTrainV2ToggleButton] } + else if (buttonThatWasClicked == rbmNormalizeDataToggleButton) + { + //[UserButtonCode_rbmNormalizeDataToggleButton] -- add your button handler code here.. + m_pRbm->setNormalizeData(buttonThatWasClicked->getToggleState()); + //[/UserButtonCode_rbmNormalizeDataToggleButton] + } //[UserbuttonClicked_Post] //[/UserbuttonClicked_Post] @@ -645,7 +657,16 @@ void MainComponent::sliderValueChanged (Slider* sliderThatWasMoved) if (m_layers.getSize() > 0) { VisibleLayer &p = (VisibleLayer&)m_layers.getAt((int)sliderThatWasMoved->getValue()); + VectorXd t = p.states(); + DrawTraining->setData(p.states()); + cout << "mean = " << (double)p.states().array().mean() << endl; + cout << "max = " << (double)p.states().array().maxCoeff() << endl; + cout << "min = " << (double)p.states().array().minCoeff() << endl; + t.array() -= t.array().mean(); + t.array() *= t.array(); + cout << "var = " << (double)t.mean() << endl; + redrawReconstruction(); } @@ -1067,6 +1088,9 @@ BEGIN_JUCER_METADATA memberName="rbmTrainV2ToggleButton" virtualName="" explicitFocusOrder="0" pos="336 200 128 24" buttonText="Train Ver. 2" connectedEdges="0" needsCallback="1" radioGroupId="0" state="0"/> + END_JUCER_METADATA diff --git a/Source/MainComponent.h b/Source/MainComponent.h index cb2dc0e..2806777 100644 --- a/Source/MainComponent.h +++ b/Source/MainComponent.h @@ -130,6 +130,7 @@ private: ScopedPointer