- pulled LayerArray out of RbmComponent

git-svn-id: http://moon:8086/svn/software/trunk/projects/RBM@293 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2016-06-16 19:16:33 +00:00
parent 4dccddd50f
commit ff88a62e73
5 changed files with 56 additions and 64 deletions
+14 -13
View File
@@ -38,7 +38,10 @@ void mylog(const char* format, ...)
//==============================================================================
MainComponent::MainComponent ()
: Thread("RBM"),
m_pRbmComponent(nullptr)
m_pRbmComponent(nullptr),
m_layers(this)
{
addAndMakeVisible (trainButton = new TextButton ("Train button"));
trainButton->setButtonText (TRANS("Train"));
@@ -458,6 +461,7 @@ void MainComponent::buttonClicked (Button* buttonThatWasClicked)
else if (buttonThatWasClicked == addButton)
{
//[UserButtonCode_addButton] -- add your button handler code here..
m_layers.add(m_pRbmComponent->getTrainingData(), m_weights->getNumVisible());
m_pRbmComponent->addFromTraining();
//[/UserButtonCode_addButton]
}
@@ -471,8 +475,8 @@ void MainComponent::buttonClicked (Button* buttonThatWasClicked)
{
//[UserButtonCode_ShakeButton] -- add your button handler code here..
m_weights->shuffle(weightInitLabel->getText().getFloatValue());
m_pRbmComponent->redrawReconstruction();
m_pRbmComponent->redrawWeights();
m_pRbmComponent->redrawReconstruction();
//[/UserButtonCode_ShakeButton]
}
else if (buttonThatWasClicked == testButton)
@@ -503,25 +507,25 @@ void MainComponent::buttonClicked (Button* buttonThatWasClicked)
else if (buttonThatWasClicked == loadTrainingButton)
{
//[UserButtonCode_loadTrainingButton] -- add your button handler code here..
m_pRbmComponent->loadTraining((String(getBaseDir() + String(".trainingStates.dat"))).toUTF8());
loadTraining((String(getBaseDir() + String(".trainingStates.dat"))).toUTF8());
//[/UserButtonCode_loadTrainingButton]
}
else if (buttonThatWasClicked == saveTrainingButton)
{
//[UserButtonCode_saveTrainingButton] -- add your button handler code here..
m_pRbmComponent->saveTraining((String(getBaseDir() + String(".trainingStates.dat"))).toUTF8());
saveTraining((String(getBaseDir() + String(".trainingStates.dat"))).toUTF8());
//[/UserButtonCode_saveTrainingButton]
}
else if (buttonThatWasClicked == clearTrainingButton)
{
//[UserButtonCode_clearTrainingButton] -- add your button handler code here..
m_pRbmComponent->clearTraining();
clearTraining();
//[/UserButtonCode_clearTrainingButton]
}
else if (buttonThatWasClicked == removeTrainingButton)
{
//[UserButtonCode_removeTrainingButton] -- add your button handler code here..
m_pRbmComponent->removeTrainingAt((int)patterSlider->getValue());
removeTrainingAt((int)patterSlider->getValue());
//[/UserButtonCode_removeTrainingButton]
}
else if (buttonThatWasClicked == reconstructEquButton)
@@ -769,6 +773,7 @@ void MainComponent::create(juce::String const &projectName)
if (!projectName.isEmpty())
{
m_weights = new Weights((String(projectName + String(".weights.dat"))).toUTF8());
loadTraining((String(projectName + String(".trainingStates.dat"))).toUTF8());
}
else
{
@@ -783,11 +788,7 @@ void MainComponent::create(juce::String const &projectName)
numVisibleYLabel->setText(String(vNumY), dontSendNotification );
numHiddenLabel->setText(String(hNum), dontSendNotification );
addAndMakeVisible(m_pRbmComponent = new RbmComponent(*m_weights, *this));
if (!projectName.isEmpty())
{
m_pRbmComponent->loadTraining((String(projectName + String(".trainingStates.dat"))).toUTF8());
}
addAndMakeVisible(m_pRbmComponent = new RbmComponent(*m_weights, m_layers.data(), *this));
m_pRbmComponent->setBounds (16, 16, 430, 130);
m_pRbmComponent->setDoRaoBlackwell(rbmDoRaoBlackwellToggleButton->getToggleState());
@@ -830,9 +831,9 @@ void MainComponent::run()
// trainButton->setEnabled(true);
}
void MainComponent::onLayerSizeChanged(size_t size)
void MainComponent::onChanged(const LayerArray &obj)
{
patterSlider->setRange(0, size-1, 1);
patterSlider->setRange(0, obj.getSize()-1, 1);
}
void MainComponent::onRbmEpochTrained(size_t progressPercent)