- moved numEpochs and miniBatchSize to RBM::Params

git-svn-id: http://moon:8086/svn/software/trunk/projects/Rbm@606 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2019-11-06 06:12:51 +00:00
parent c834a86f0f
commit 3ef7b07f5e
6 changed files with 31 additions and 15 deletions
+14 -2
View File
@@ -35,6 +35,8 @@ public:
, gibbsDoSampleHidden(true)
, doSampleBatch(false)
, numGibbs(1)
, miniBatchSize(100)
, numEpochs(1000)
{
}
@@ -50,6 +52,8 @@ public:
params["gibbsDoSampleHidden"] = (int)gibbsDoSampleHidden;
params["doSampleBatch"] = (int)doSampleBatch;
params["numGibbs"] = (int)numGibbs;
params["miniBatchSize"] = (int)miniBatchSize;
params["numEpochs"] = (int)numEpochs;
return params;
}
@@ -64,6 +68,8 @@ public:
gibbsDoSampleHidden = params["gibbsDoSampleHidden"] == 1;
doSampleBatch = params["doSampleBatch"] == 1;
numGibbs = params["numGibbs"].asUInt();
miniBatchSize = params["miniBatchSize"].asUInt();
numEpochs = params["numEpochs"].asUInt();
}
double weightDecay;
@@ -74,6 +80,8 @@ public:
bool gibbsDoSampleHidden;
bool doSampleBatch;
size_t numGibbs;
size_t miniBatchSize;
size_t numEpochs;
};
struct Status
@@ -114,7 +122,7 @@ public:
virtual ~Rbm();
void weightsInit(double stddev, double mu=0.0);
void train(arma::mat const &batch, size_t miniBatchSize, size_t numEpochs, IListener *pListener);
void train(arma::mat const &batch, IListener *pListener);
arma::mat toHiddenState(const arma::mat &visible) const;
arma::mat toVisibleState(const arma::mat &hidden) const;
@@ -127,8 +135,12 @@ public:
Json::Value toJson() const;
void fromJson(Json::Value params);
Params& params()
{
return m_params;
}
private:
const Params m_params;
Params m_params;
arma::mat sample(arma::mat const &src);
static arma::mat probsLogistic(arma::mat const &src);
void uniform(arma::mat &srcDst, double stdDev=1.0, double mu=0.5);