- Rbm::onProgress provides object to itself

- MainComponentz is Rbm::IListener

git-svn-id: http://moon:8086/svn/software/trunk/projects/Rbm@635 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2019-11-07 19:27:15 +00:00
parent 8605b37b30
commit 4c68cd4370
4 changed files with 25 additions and 20 deletions
+10 -11
View File
@@ -42,7 +42,7 @@ class MainComponent
: public Component
, public Thread
, public LayerConstructor
, public RbmComponentListener
, public Rbm::IListener
, public ButtonListener
, public SliderListener
, public LabelListener
@@ -55,7 +55,6 @@ public:
//==============================================================================
//[UserMethods] -- You can add your own custom methods in this section.
bool onProgressChanged(size_t progressPercent) override;
//[/UserMethods]
void paint (Graphics& g);
@@ -75,7 +74,7 @@ public:
Layer* onConstruct(const std::string &name, size_t id, size_t numVisibleX, size_t numVisibleY, size_t numHidden)
{
RbmComponent *pComp = new RbmComponent(name, id, numVisibleX, numVisibleY, numHidden, this);
RbmComponent *pComp = new RbmComponent(name, id, numVisibleX, numVisibleY, numHidden);
addAndMakeVisible(pComp);
return static_cast<Layer*>(pComp);
}
@@ -86,7 +85,6 @@ private:
static const size_t DBN_SIZE = 4;
ScopedPointer<Stack> m_stack;
RbmComponent *m_pLayer;
arma::mat m_trainingData;
int m_weightIndex;
int m_trainingIndex;
void save();
@@ -97,13 +95,13 @@ private:
bool m_doStop;
void clearTraining()
{
patterSlider->setRange(0, m_stack->numTraining(m_trainingData)-1, 1);
patterSlider->setRange(0, m_stack->numTraining()-1, 1);
}
void loadTraining()
{
m_trainingData = m_stack->loadTraining();
patterSlider->setRange(0, m_stack->numTraining(m_trainingData)-1, 1);
m_stack->loadTraining();
patterSlider->setRange(0, m_stack->numTraining()-1, 1);
}
void saveTraining()
@@ -113,17 +111,18 @@ private:
void addTraining(const arma::mat &training)
{
m_stack->addTraining(m_trainingData, training);
patterSlider->setRange(0, m_stack->numTraining(m_trainingData)-1, 1);
m_stack->addTraining(training);
patterSlider->setRange(0, m_stack->numTraining()-1, 1);
}
void removeTrainingAt(size_t index)
{
m_stack->delTraining(m_trainingData, index);
patterSlider->setRange(0, m_stack->numTraining(m_trainingData)-1, 1);
m_stack->delTraining(index);
patterSlider->setRange(0, m_stack->numTraining()-1, 1);
}
void updateControls();
bool onProgress(Rbm *pRbm, const Rbm::Status &status) override;
//[/UserVariables]