- added passes to layer
- removed redundancy git-svn-id: http://moon:8086/svn/software/trunk/projects/Rbm@784 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
+47
-2
@@ -76,9 +76,54 @@ public:
|
||||
return m_numVisibleY;
|
||||
}
|
||||
|
||||
int numHidden()
|
||||
arma::mat gibbsPass(arma::mat &vr)
|
||||
{
|
||||
return whv().n_cols;
|
||||
arma::mat h;
|
||||
for (int i=0; i < params().numGibbs; i++)
|
||||
{
|
||||
h = prob(v_to_h(vr));
|
||||
vr = prob(h_to_v(h));
|
||||
}
|
||||
return h;
|
||||
}
|
||||
|
||||
arma::mat upPass(arma::mat const &v)
|
||||
{
|
||||
arma::mat r = v;
|
||||
arma::mat h = gibbsPass(r);
|
||||
if (next)
|
||||
{
|
||||
next->upPass(h);
|
||||
}
|
||||
else
|
||||
{
|
||||
return h;
|
||||
}
|
||||
}
|
||||
|
||||
arma::mat downPass(arma::mat const &h)
|
||||
{
|
||||
arma::mat v = prob(h_to_v(h));
|
||||
if (prev)
|
||||
{
|
||||
return prev->downPass(v);
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
arma::mat upDownPass(arma::mat const &v)
|
||||
{
|
||||
arma::mat r = v;
|
||||
arma::mat h = gibbsPass(r);
|
||||
if (next)
|
||||
{
|
||||
next->upDownPass(h);
|
||||
}
|
||||
else if (prev)
|
||||
{
|
||||
prev->downPass(r);
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
bool weightsLoad(std::string const &dir, std::string const &prj);
|
||||
|
||||
Reference in New Issue
Block a user