diff --git a/source/Rbm.cpp b/source/Rbm.cpp index 2fa060e..f113995 100644 --- a/source/Rbm.cpp +++ b/source/Rbm.cpp @@ -85,8 +85,9 @@ void Rbm::train(const arma::mat& batch, IListener* pListener) arma::mat miniBatch = batch.rows(batchRowIndex, batchRowIndex+miniBatchSizeActual-1); trainingSizeRemain -= miniBatchSizeActual; batchRowIndex += miniBatchSizeActual; - double learning_rate = m_params.learningRate/m_params.miniBatchSize; - double weight_decay = m_params.weightDecay/m_params.miniBatchSize; + int scaler = std::min(m_params.miniBatchSize, (int)batch.n_rows); + double learning_rate = m_params.learningRate/scaler; + double weight_decay = m_params.weightDecay/scaler; arma::mat vis_state(miniBatchSizeActual, m_w.n_rows); arma::mat vis_probs(miniBatchSizeActual, m_w.n_rows);