- added useProbsForHiddenReconstruction

git-svn-id: http://moon:8086/svn/software/trunk/projects/RBM@21 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2014-10-08 18:45:15 +00:00
parent da30d95e31
commit fc1f53fdb6
3 changed files with 49 additions and 24 deletions
+33 -16
View File
@@ -195,6 +195,10 @@ MainComponent::MainComponent ()
rbmDoRobbinsMonroToggleButton->setButtonText (TRANS("Robbins-Monro"));
rbmDoRobbinsMonroToggleButton->addListener (this);
addAndMakeVisible (rbmReduceVarianceToggleButton = new ToggleButton ("rbmReduceVariance toggle button"));
rbmReduceVarianceToggleButton->setButtonText (TRANS("Reduce Variance"));
rbmReduceVarianceToggleButton->addListener (this);
//[UserPreSize]
m_vNumX = 16;
@@ -220,6 +224,7 @@ MainComponent::MainComponent ()
rbmUseExpectationsToggleButton->setToggleState(false, sendNotification);
rbmDoRaoBlackwellToggleButton->setToggleState(false, sendNotification);
rbmDoRobbinsMonroToggleButton->setToggleState(false, sendNotification);
rbmReduceVarianceToggleButton->setToggleState(false, sendNotification);
//[/Constructor]
}
@@ -253,6 +258,7 @@ MainComponent::~MainComponent()
rbmUseExpectationsToggleButton = nullptr;
rbmDoRaoBlackwellToggleButton = nullptr;
rbmDoRobbinsMonroToggleButton = nullptr;
rbmReduceVarianceToggleButton = nullptr;
//[Destructor]. You can add your own custom destruction code here..
@@ -280,14 +286,14 @@ void MainComponent::paint (Graphics& g)
void MainComponent::resized()
{
trainButton->setBounds (120, 312, 72, 24);
addButton->setBounds (24, 176, 72, 24);
addButton->setBounds (24, 160, 72, 24);
patterSlider->setBounds (224, 312, 184, 24);
reconstructButton->setBounds (24, 312, 72, 24);
ShakeButton->setBounds (120, 352, 72, 24);
WeightsSlider->setBounds (224, 352, 184, 24);
numEpochslabel->setBounds (24, 272, 72, 24);
learningRateLabel->setBounds (120, 272, 72, 24);
testButton->setBounds (120, 176, 72, 24);
numEpochslabel->setBounds (24, 280, 72, 24);
learningRateLabel->setBounds (120, 280, 72, 24);
testButton->setBounds (120, 160, 72, 24);
numVisibleLabel->setBounds (440, 256, 72, 24);
numHiddenLabel->setBounds (488, 288, 72, 24);
createButton->setBounds (488, 320, 72, 24);
@@ -301,9 +307,10 @@ void MainComponent::resized()
removeTrainingButton->setBounds (440, 88, 72, 24);
numGibbsSlider->setBounds (224, 272, 184, 24);
reconstructEquButton->setBounds (24, 352, 72, 24);
rbmUseExpectationsToggleButton->setBounds (224, 240, 150, 24);
rbmDoRaoBlackwellToggleButton->setBounds (224, 176, 150, 24);
rbmDoRobbinsMonroToggleButton->setBounds (224, 208, 150, 24);
rbmUseExpectationsToggleButton->setBounds (24, 232, 128, 24);
rbmDoRaoBlackwellToggleButton->setBounds (24, 200, 112, 24);
rbmDoRobbinsMonroToggleButton->setBounds (168, 232, 120, 24);
rbmReduceVarianceToggleButton->setBounds (168, 200, 128, 24);
//[UserResized] Add your own custom resize handling here..
Draw->setBounds (16, 16, 100, 100);
Draw2->setBounds (110+16, 16, 100, 100);
@@ -320,7 +327,7 @@ void MainComponent::buttonClicked (Button* buttonThatWasClicked)
if (buttonThatWasClicked == trainButton)
{
//[UserButtonCode_trainButton] -- add your button handler code here..
m_pRbm->train(m_layers, numEpochslabel->getText().getIntValue(), learningRateLabel->getText().getFloatValue(), m_numGibbs, m_rbmUseExpectations, m_rbmDoRaoBlackwell, m_rbmDoRobbinsMonro);
m_pRbm->train(m_layers, numEpochslabel->getText().getIntValue(), learningRateLabel->getText().getFloatValue(), m_numGibbs, m_rbmUseExpectations, m_rbmDoRaoBlackwell, m_rbmReduceEstimatorVariance, m_rbmDoRobbinsMonro);
//[/UserButtonCode_trainButton]
}
else if (buttonThatWasClicked == addButton)
@@ -407,7 +414,7 @@ void MainComponent::buttonClicked (Button* buttonThatWasClicked)
const double *pV, *pH;
pV = Draw->getData();
for (i=0; i < 1000; i++)
for (i=0; i < 100; i++)
{
pH = m_pRbm->toHidden(pV);
DrawHidden->setData(pH);
@@ -434,6 +441,12 @@ void MainComponent::buttonClicked (Button* buttonThatWasClicked)
m_rbmDoRobbinsMonro = buttonThatWasClicked->getToggleState();
//[/UserButtonCode_rbmDoRobbinsMonroToggleButton]
}
else if (buttonThatWasClicked == rbmReduceVarianceToggleButton)
{
//[UserButtonCode_rbmReduceVarianceToggleButton] -- add your button handler code here..
m_rbmReduceEstimatorVariance = buttonThatWasClicked->getToggleState();
//[/UserButtonCode_rbmReduceVarianceToggleButton]
}
//[UserbuttonClicked_Post]
//[/UserbuttonClicked_Post]
@@ -635,7 +648,7 @@ BEGIN_JUCER_METADATA
virtualName="" explicitFocusOrder="0" pos="120 312 72 24" buttonText="Train"
connectedEdges="0" needsCallback="1" radioGroupId="0"/>
<TEXTBUTTON name="Add button" id="4609f7b526ec1aef" memberName="addButton"
virtualName="" explicitFocusOrder="0" pos="24 176 72 24" buttonText="Add"
virtualName="" explicitFocusOrder="0" pos="24 160 72 24" buttonText="Add"
connectedEdges="0" needsCallback="1" radioGroupId="0"/>
<SLIDER name="Pattern slider" id="c3e0a2c816db81d1" memberName="patterSlider"
virtualName="" explicitFocusOrder="0" pos="224 312 184 24" min="0"
@@ -652,17 +665,17 @@ BEGIN_JUCER_METADATA
max="0" int="1" style="LinearHorizontal" textBoxPos="TextBoxLeft"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="Num Epochs label" id="b23ae372ee931474" memberName="numEpochslabel"
virtualName="" explicitFocusOrder="0" pos="24 272 72 24" edTextCol="ff000000"
virtualName="" explicitFocusOrder="0" pos="24 280 72 24" edTextCol="ff000000"
edBkgCol="0" labelText="99999" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="15"
bold="0" italic="0" justification="36"/>
<LABEL name="Learning Rate label" id="49611a27914e910d" memberName="learningRateLabel"
virtualName="" explicitFocusOrder="0" pos="120 272 72 24" edTextCol="ff000000"
virtualName="" explicitFocusOrder="0" pos="120 280 72 24" edTextCol="ff000000"
edBkgCol="0" labelText="0.001" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="15"
bold="0" italic="0" justification="36"/>
<TEXTBUTTON name="Test button" id="a1e6fed732ae7ee1" memberName="testButton"
virtualName="" explicitFocusOrder="0" pos="120 176 72 24" buttonText="Test"
virtualName="" explicitFocusOrder="0" pos="120 160 72 24" buttonText="Test"
connectedEdges="0" needsCallback="1" radioGroupId="0"/>
<LABEL name="Num Visible label" id="60acd702770b77dd" memberName="numVisibleLabel"
virtualName="" explicitFocusOrder="0" pos="440 256 72 24" edTextCol="ff000000"
@@ -714,15 +727,19 @@ BEGIN_JUCER_METADATA
connectedEdges="0" needsCallback="1" radioGroupId="0"/>
<TOGGLEBUTTON name="rbmUseExpectations toggle button" id="62884e37cd027719"
memberName="rbmUseExpectationsToggleButton" virtualName="" explicitFocusOrder="0"
pos="224 240 150 24" buttonText="Use Expectations" connectedEdges="0"
pos="24 232 128 24" buttonText="Use Expectations" connectedEdges="0"
needsCallback="1" radioGroupId="0" state="0"/>
<TOGGLEBUTTON name="rbmDoRaoBlackwell toggle button" id="7f585de46e182418"
memberName="rbmDoRaoBlackwellToggleButton" virtualName="" explicitFocusOrder="0"
pos="224 176 150 24" buttonText="Rao-Blackwell" connectedEdges="0"
pos="24 200 112 24" buttonText="Rao-Blackwell" connectedEdges="0"
needsCallback="1" radioGroupId="0" state="0"/>
<TOGGLEBUTTON name="rbmDoRobbinsMonro toggle button" id="21974def5fe90b46"
memberName="rbmDoRobbinsMonroToggleButton" virtualName="" explicitFocusOrder="0"
pos="224 208 150 24" buttonText="Robbins-Monro" connectedEdges="0"
pos="168 232 120 24" buttonText="Robbins-Monro" connectedEdges="0"
needsCallback="1" radioGroupId="0" state="0"/>
<TOGGLEBUTTON name="rbmReduceVariance toggle button" id="1636f6389abe9225"
memberName="rbmReduceVarianceToggleButton" virtualName="" explicitFocusOrder="0"
pos="168 200 128 24" buttonText="Reduce Variance" connectedEdges="0"
needsCallback="1" radioGroupId="0" state="0"/>
</JUCER_COMPONENT>