From 87fc780461a595015c97613c1fa4a62c6999683d Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Tue, 18 Jan 2022 15:36:04 +0000 Subject: [PATCH] - init weights on model load error git-svn-id: http://moon:8086/svn/software/trunk/projects/Rbm@830 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- source/AStack.cpp | 9 ++++++--- source/poet.cpp | 11 ++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/source/AStack.cpp b/source/AStack.cpp index 9c4de3d..d1e6b31 100644 --- a/source/AStack.cpp +++ b/source/AStack.cpp @@ -115,16 +115,19 @@ void AStack::weightsInit(double stddev) bool AStack::loadWeights(const std::string &dir) { + bool result = true; Layer *pLayer = m_pLayers; while(pLayer) { - if (!pLayer->weightsLoad(dir, m_name)) + bool success = pLayer->weightsLoad(dir, m_name); + if (!success) { - return false; + pLayer->weightsInit(0.01, 0); } + result &= success; pLayer = pLayer->next; } - return true; + return result; } bool AStack::saveWeights(const std::string &dir) diff --git a/source/poet.cpp b/source/poet.cpp index 104f543..0887884 100644 --- a/source/poet.cpp +++ b/source/poet.cpp @@ -138,8 +138,8 @@ arma::mat createTraining(const string &filename, size_t seq_len) } #define CREATE_TRAINING 0 -#define DO_TRAINING 0 -#define DO_FORWARD 1 +#define DO_TRAINING 1 +#define DO_FORWARD 0 int main() { @@ -167,16 +167,12 @@ int main() stack->setParams(params); RbmListener listener; - for (int i=0; i < stack->getSeqLen(); i++) - { - stack->getLayer(i)->weightsInit(0.01,0); - } - // Phase 10 params.numEpochs = 2000; stack->setParams(params); stack->train(t_vc, &listener); +#if 0 // Phase 11 params.numEpochs = 10000; stack->setParams(params); @@ -186,6 +182,7 @@ int main() params.numGibbs = numGibbs; stack->setParams(params); stack->train(t_vc, &listener); +#endif stack->saveWeights("."); stack->save(".");