- fixed crash, when try to train without training patterns

git-svn-id: http://moon:8086/svn/software/trunk/projects/Rbm@664 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2019-11-12 23:00:55 +00:00
parent c7ff22d940
commit 24f253e892
3 changed files with 9 additions and 3 deletions
+3
View File
@@ -35,9 +35,12 @@ public:
bool saveWeights(const std::string &prjname=""); bool saveWeights(const std::string &prjname="");
void train(arma::mat const &batch, IListener *pListener=nullptr) void train(arma::mat const &batch, IListener *pListener=nullptr)
{
if (batch.n_rows > 0)
{ {
Rbm::train(trainingData(batch), pListener); Rbm::train(trainingData(batch), pListener);
} }
}
std::string& name() std::string& name()
{ {
+3
View File
@@ -762,7 +762,10 @@ void MainComponent::comboBoxChanged (ComboBox* comboBoxThatHasChanged)
m_pLayer = static_cast<RbmComponent*>(m_stack->getLayer(index)); m_pLayer = static_cast<RbmComponent*>(m_stack->getLayer(index));
updateControls(); updateControls();
m_pLayer->redrawWeights(m_weightIndex); m_pLayer->redrawWeights(m_weightIndex);
if (m_stack->trainingData().n_rows > 0)
{
m_pLayer->setTrainingData(m_stack->trainingData().row(m_trainingIndex)); m_pLayer->setTrainingData(m_stack->trainingData().row(m_trainingIndex));
}
//[/UserComboBoxCode_m_rbmSelect] //[/UserComboBoxCode_m_rbmSelect]
} }
+1 -1
View File
@@ -198,7 +198,7 @@ void Stack::train(Rbm::IListener* pListener)
while(pLayer) while(pLayer)
{ {
std::cout << m_name << ": " << " Training of layer " << std::to_string(pLayer->id()) << std::endl; std::cout << m_name << ": " << " Training of layer " << std::to_string(pLayer->id()) << std::endl;
pLayer->train(trainingData(pLayer), pListener); pLayer->train(m_trainingData, pListener);
pLayer = pLayer->next; pLayer = pLayer->next;
} }
} }