- weights and biases are allocated outside Rbm

git-svn-id: http://moon:8086/svn/software/trunk/projects/Rbm@565 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2019-10-22 06:30:21 +00:00
parent 675a5485fe
commit de33b3ecbd
3 changed files with 22 additions and 13 deletions
+10 -7
View File
@@ -65,22 +65,25 @@ public:
}
};
Rbm(size_t numVisible, size_t numHidden);
Rbm(arma::mat &w, arma::mat &bv, arma::mat &bh);
Rbm(const Rbm& orig);
virtual ~Rbm();
void train(arma::mat const &batch, size_t numEpochs, size_t sizeMiniBatch, Params const &params, IListener *pListener);
arma::mat sample(arma::mat const &src);
static arma::mat probsLogistic(arma::mat const &src);
arma::mat toHidden(const arma::mat &v);
arma::mat toVisible(const arma::mat &h);
void uniform(arma::mat &srcDst, double mu=0.0, double stdDev=1.0);
arma::mat& weights();
arma::mat& bias_visible();
arma::mat& bias_hidden();
private:
noise_gen_t m_noise;
arma::mat m_w;
arma::mat m_bh;
arma::mat m_bv;
arma::mat &m_w;
arma::mat &m_bh;
arma::mat &m_bv;
arma::mat sample(arma::mat const &src);
static arma::mat probsLogistic(arma::mat const &src);
void uniform(arma::mat &srcDst, double mu=0.0, double stdDev=1.0);
};
#endif /* RBM_HPP */