[RBM]
- committed local changes git-svn-id: http://moon:8086/svn/software/trunk/projects/RBM@270 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
+9
-9
@@ -21,7 +21,7 @@ using namespace Eigen;
|
||||
class Layer
|
||||
{
|
||||
public:
|
||||
Layer(uint32_t numUnits = 0, const VectorXd *pStatesInit = nullptr)
|
||||
Layer(uint32_t numUnits = 0, const RowVectorXd *pStatesInit = nullptr)
|
||||
: m_numUnits(numUnits)
|
||||
, m_probs(numUnits)
|
||||
, m_states(numUnits)
|
||||
@@ -109,12 +109,12 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
VectorXd& probs()
|
||||
RowVectorXd& probs()
|
||||
{
|
||||
return m_probs;
|
||||
}
|
||||
|
||||
VectorXd& states()
|
||||
RowVectorXd& states()
|
||||
{
|
||||
return m_states;
|
||||
}
|
||||
@@ -129,11 +129,11 @@ private:
|
||||
|
||||
protected:
|
||||
uint32_t m_numUnits;
|
||||
VectorXd m_probs;
|
||||
VectorXd m_states;
|
||||
RowVectorXd m_probs;
|
||||
RowVectorXd m_states;
|
||||
|
||||
virtual double accum(Layer &layer, Weights &weights, uint32_t index) = 0;
|
||||
void logSigmoid(const VectorXd &x)
|
||||
void logSigmoid(const RowVectorXd &x)
|
||||
{
|
||||
uint32_t i;
|
||||
|
||||
@@ -143,7 +143,7 @@ protected:
|
||||
}
|
||||
}
|
||||
|
||||
void gaussProb(const VectorXd &mu, double sigma)
|
||||
void gaussProb(const RowVectorXd &mu, double sigma)
|
||||
{
|
||||
uint32_t i;
|
||||
double var = sigma*sigma;
|
||||
@@ -151,8 +151,8 @@ protected:
|
||||
|
||||
for (i=0; i < m_numUnits; i++)
|
||||
{
|
||||
double x2 = ((double)mu[i]);
|
||||
m_probs[i] = 1-exp(-0.5*x2*x2/var);
|
||||
double x2 = (1-(double)mu[i]);
|
||||
m_probs[i] = exp(-0.5*x2*x2/var);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user