- Noise_Init() depoends only on seed
- more detrmistic calls of shuffle() - Shuffle() init weights with uniform noise git-svn-id: http://moon:8086/svn/software/trunk/projects/RBM@599 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
+9
-5
@@ -82,23 +82,27 @@ public:
|
|||||||
m_w.resize(m_numVisible, m_numHidden);
|
m_w.resize(m_numVisible, m_numHidden);
|
||||||
m_bv.resize(m_numVisible);
|
m_bv.resize(m_numVisible);
|
||||||
m_bh.resize(m_numHidden);
|
m_bh.resize(m_numHidden);
|
||||||
shuffle(0.01);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void shuffle(double stdDev)
|
void shuffle(double stdDev)
|
||||||
{
|
{
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
|
||||||
m_bv.array().fill(stdDev*Noise_Gaussian(&m_noise));
|
|
||||||
m_bh.array().fill(stdDev*Noise_Gaussian(&m_noise));
|
|
||||||
|
|
||||||
for (i=0; i < m_numVisible; i++)
|
for (i=0; i < m_numVisible; i++)
|
||||||
{
|
{
|
||||||
for (j=0; j < m_numHidden; j++)
|
for (j=0; j < m_numHidden; j++)
|
||||||
{
|
{
|
||||||
m_w(i,j) = stdDev*Noise_Gaussian(&m_noise);
|
m_w(i,j) = stdDev*(Noise_Uniform(&m_noise) - 0.5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (i=0; i < m_numVisible; i++)
|
||||||
|
{
|
||||||
|
m_bv(i) = stdDev*(Noise_Uniform(&m_noise) - 0.5);
|
||||||
|
}
|
||||||
|
for (i=0; i < m_numHidden; i++)
|
||||||
|
{
|
||||||
|
m_bh(i) = stdDev*(Noise_Uniform(&m_noise) - 0.5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Weights& operator= (const Weights &rhs)
|
Weights& operator= (const Weights &rhs)
|
||||||
|
|||||||
+1
-1
@@ -46,7 +46,7 @@ double ran0(long *idum)
|
|||||||
void Noise_Init(noise_gen_t *pObj, long seed)
|
void Noise_Init(noise_gen_t *pObj, long seed)
|
||||||
{
|
{
|
||||||
|
|
||||||
pObj->state = seed ^ clock();
|
pObj->state = seed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Noise_Free(noise_gen_t *pObj)
|
void Noise_Free(noise_gen_t *pObj)
|
||||||
|
|||||||
Reference in New Issue
Block a user