- use dir in file names

- fixed missing returns
- fixed test app

git-svn-id: http://moon:8086/svn/software/trunk/projects/Rbm@782 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2022-01-10 17:05:51 +00:00
parent 05fc3aa7c1
commit d5ec722aba
5 changed files with 59 additions and 17 deletions
+6 -7
View File
@@ -49,9 +49,9 @@ bool Layer::weightsLoad(std::string const &dir, std::string const &prj)
arma::mat bh;
arma::mat bv;
bool result = true;
result &= w.load(filePrefix(prj) + ".w.dat", arma::arma_ascii);
result &= bh.load(filePrefix(prj) + ".bh.dat", arma::arma_ascii);
result &= bv.load(filePrefix(prj) + ".bv.dat", arma::arma_ascii);
result &= w.load(filePrefix(dir, prj) + ".w.dat", arma::arma_ascii);
result &= bh.load(filePrefix(dir, prj) + ".bh.dat", arma::arma_ascii);
result &= bv.load(filePrefix(dir, prj) + ".bv.dat", arma::arma_ascii);
if (result)
{
@@ -65,9 +65,9 @@ bool Layer::weightsLoad(std::string const &dir, std::string const &prj)
bool Layer::weightsSave(std::string const &dir, std::string const &prj)
{
bool result = true;
result &= whv().save(filePrefix(prj) + ".w.dat", arma::arma_ascii);
result &= bh().save(filePrefix(prj) + ".bh.dat", arma::arma_ascii);
result &= bv().save(filePrefix(prj) + ".bv.dat", arma::arma_ascii);
result &= whv().save(filePrefix(dir, prj) + ".w.dat", arma::arma_ascii);
result &= bh().save(filePrefix(dir, prj) + ".bh.dat", arma::arma_ascii);
result &= bv().save(filePrefix(dir, prj) + ".bv.dat", arma::arma_ascii);
if (result)
{
@@ -83,7 +83,6 @@ Json::Value Layer::toJson() const
Json::Value layer;
layer["name"] = m_name;
layer["id"] = (int)m_id;
layer["weights_file"] = filePrefix("") + ".weights.dat";
layer["numVisibleX"] = (int)m_numVisibleX;
layer["numVisibleY"] = (int)m_numVisibleY;
layer["numHidden"] = (int)whv().n_cols;
+2 -2
View File
@@ -141,14 +141,14 @@ private:
// Compatibility
bool loadWeights(const std::string &prjname="");
bool saveWeights(const std::string &prjname="");
std::string filePrefix(const std::string &prjname) const
std::string filePrefix(const std::string &dir, const std::string &prjname) const
{
std::string filename = m_name + "." + std::to_string((int)m_id);
if (prjname.size() > 0)
{
filename = prjname + "." + filename;
}
return filename;
return dir + "/" + filename;
}
};
+3 -2
View File
@@ -244,8 +244,8 @@ size_t Stack::loadTrainingBatch(bool doNormalize)
m_trainingBatch = Rbm::normalize(m_trainingBatch);
}
std::cout << "Loaded " << m_trainingBatch.n_rows << " training samples\n";
return m_trainingBatch.n_rows;
}
return m_trainingBatch.n_rows;
}
size_t Stack::saveTrainingBatch()
@@ -256,8 +256,9 @@ size_t Stack::saveTrainingBatch()
if (success)
{
std::cout << "Saved " << m_trainingBatch.n_rows << " training samples\n";
return m_trainingBatch.n_rows;
}
return m_trainingBatch.n_rows;
}
size_t Stack::numTraining()
+1 -1
View File
@@ -80,7 +80,7 @@ int main()
const string project("test");
RbmListener statusDisplay;
Stack stack(project);
Stack stack(".", project);
stack.loadTrainingBatch();
+46 -4
View File
@@ -21,8 +21,7 @@
"numGibbs" : 1,
"weightDecay" : 0.0
}
},
"weights_file" : "Layer.0.weights.dat"
}
},
{
"id" : 1,
@@ -40,12 +39,55 @@
"learningRate" : 0.050000000000000003,
"miniBatchSize" : 100,
"momentum" : 0.5,
"numEpochs" : 5000,
"numEpochs" : 500,
"numGibbs" : 1,
"weightDecay" : 0.0
}
}
},
"weights_file" : "Layer.1.weights.dat"
{
"id" : 2,
"name" : "Layer",
"numContext" : 0,
"numHidden" : 2,
"numVisibleX" : 4,
"numVisibleY" : 1,
"rbm" : {
"params" : {
"doRaoBlackwell" : 1,
"doSampleBatch" : 0,
"gibbsDoSampleHidden" : 1,
"gibbsDoSampleVisible" : 0,
"learningRate" : 0.025000000000000001,
"miniBatchSize" : 100,
"momentum" : 0.5,
"numEpochs" : 250,
"numGibbs" : 1,
"weightDecay" : 0.0
}
}
},
{
"id" : 3,
"name" : "Layer",
"numContext" : 0,
"numHidden" : 1,
"numVisibleX" : 2,
"numVisibleY" : 1,
"rbm" : {
"params" : {
"doRaoBlackwell" : 1,
"doSampleBatch" : 0,
"gibbsDoSampleHidden" : 1,
"gibbsDoSampleVisible" : 0,
"learningRate" : 0.012500000000000001,
"miniBatchSize" : 100,
"momentum" : 0.5,
"numEpochs" : 125,
"numGibbs" : 1,
"weightDecay" : 0.0
}
}
}
],
"name" : "test"