- Layer: do gibbs sampling in calcContextBatch()

- RBM: added Gibbs sampler
- Stack adjust training column vector according to needs

git-svn-id: http://moon:8086/svn/software/trunk/projects/Rbm@797 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2022-01-13 07:19:47 +00:00
parent dba52a651d
commit be64a88e04
5 changed files with 48 additions and 13 deletions
+9 -3
View File
@@ -247,13 +247,19 @@ size_t Stack::loadTrainingBatch(bool doNormalize)
}
// Migrate context part to training data
size_t numContext = getLayer(0)->context().n_cols;
size_t numTraining = m_trainingBatch.n_rows;
if (numContext > 0 and m_trainingBatch.n_cols != getLayer(0)->numVisible())
size_t numVisible = getLayer(0)->numVisible();
if (m_trainingBatch.n_cols < numVisible)
{
arma::mat training_with_ctx = arma::join_rows(m_trainingBatch, arma::zeros(numTraining, numContext));
size_t diff = numVisible - m_trainingBatch.n_cols;
arma::mat training_with_ctx = arma::join_rows(m_trainingBatch, arma::zeros(numTraining, diff));
m_trainingBatch = training_with_ctx;
}
else if (m_trainingBatch.n_cols > numVisible)
{
m_trainingBatch = m_trainingBatch.submat(0, 0, numTraining-1, numVisible-1);
}
return m_trainingBatch.n_rows;
}