From 8e44aff7a52c4f0724ece5da15bdb7e30ad54164 Mon Sep 17 00:00:00 2001 From: jens Date: Wed, 31 Jan 2024 20:52:18 +0100 Subject: [PATCH] - prepare cd_jens() for linear hidden units --- source/Rbm.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/Rbm.cpp b/source/Rbm.cpp index 24d8022..c2955f3 100644 --- a/source/Rbm.cpp +++ b/source/Rbm.cpp @@ -17,6 +17,8 @@ using namespace Matutils; +#define USE_CD_HINTON 0 + Rbm::Rbm(size_t numVisible, size_t numHidden) : m_params() , m_whv(numVisible, numHidden) @@ -140,14 +142,15 @@ void Rbm::gibbs_hv(arma::mat &h_probs, arma::mat &v_probs) const void Rbm::cd(arma::mat const &v_data, arma::mat &dw, arma::mat &dbh, arma::mat &dbv) { - if (m_params.doGaussianHidden) +#if USE_CD_HINTON { - cd_hinton_hid_linear(v_data, dw, dbh, dbv); + cd_hinton(v_data, dw, dbh, dbv); } - else +#else { cd_jens(v_data, dw, dbh, dbv); } +#endif } void Rbm::cd_hinton_hid_linear(arma::mat const &v_data, arma::mat &dw, arma::mat &dbh, arma::mat &dbv) @@ -241,7 +244,7 @@ void Rbm::cd_hinton(arma::mat const &v_data, arma::mat &dw, arma::mat &dbh, arma void Rbm::cd_jens(arma::mat const &v_states, arma::mat &dw, arma::mat &dbh, arma::mat &dbv) { arma::mat v_probs(v_states); - arma::mat h_states = v_to_h(v_states); + arma::mat h_states = toHiddenProbs(v_states); arma::mat h_probs; // Sample hidden