From 756c4d8670cc8d28e24fef486f0bbbea5a0b5002 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Tue, 29 Oct 2019 07:02:45 +0000 Subject: [PATCH] - 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 --- Source/Weights.hpp | 14 +++++++++----- Source/noise.c | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Source/Weights.hpp b/Source/Weights.hpp index b4a5f93..b86384c 100644 --- a/Source/Weights.hpp +++ b/Source/Weights.hpp @@ -82,23 +82,27 @@ public: m_w.resize(m_numVisible, m_numHidden); m_bv.resize(m_numVisible); m_bh.resize(m_numHidden); - shuffle(0.01); } void shuffle(double stdDev) { 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 (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) diff --git a/Source/noise.c b/Source/noise.c index 00f8d4f..542d48f 100644 --- a/Source/noise.c +++ b/Source/noise.c @@ -46,7 +46,7 @@ double ran0(long *idum) void Noise_Init(noise_gen_t *pObj, long seed) { - pObj->state = seed ^ clock(); + pObj->state = seed; } void Noise_Free(noise_gen_t *pObj)