- AStack:Load show mean and stddev

This commit is contained in:
2024-01-31 12:20:15 +01:00
parent e211c568ac
commit 2a2be76b2c
5 changed files with 20 additions and 9 deletions
+3
View File
@@ -179,6 +179,9 @@ size_t AStack::loadTrainingBatch(const std::string &dir, bool doNormalize)
{ {
m_trainingBatch = normalize(m_trainingBatch); m_trainingBatch = normalize(m_trainingBatch);
} }
std::cout << "mean" << " : " << std::endl << mean(m_trainingBatch) << std::endl;
std::cout << "stddev" << ": " << std::endl << stddev(m_trainingBatch) << std::endl;
std::cout << "Loaded " << m_trainingBatch.n_rows << " training samples\n"; std::cout << "Loaded " << m_trainingBatch.n_rows << " training samples\n";
} }
+1 -1
View File
@@ -146,7 +146,7 @@ void Rbm::cd(arma::mat const &v_data, arma::mat &dw, arma::mat &dbh, arma::mat &
} }
else else
{ {
cd_hinton(v_data, dw, dbh, dbv); cd_jens(v_data, dw, dbh, dbv);
} }
} }
+1 -1
View File
@@ -318,7 +318,7 @@ void RbmComponent::onDownPass(const arma::mat& h) const
DrawHidden->getData() = h; DrawHidden->getData() = h;
DrawHidden->DrawData(); DrawHidden->DrawData();
arma::mat r = Matutils::prob(h_to_v(h)); arma::mat r = toVisibleProbs(h);
reconstRedraw(r); reconstRedraw(r);
} }
+1 -1
View File
@@ -302,7 +302,7 @@ void RnnComponentLayer::onDownPass(const arma::mat& h) const
DrawHidden->getData() = h; DrawHidden->getData() = h;
DrawHidden->DrawData(); DrawHidden->DrawData();
arma::mat r = Matutils::prob(h_to_v(h)); arma::mat r = toVisibleProbs(h);
reconstRedraw(r); reconstRedraw(r);
} }
+14 -6
View File
@@ -20,6 +20,7 @@
namespace Matutils namespace Matutils
{ {
const size_t NORMALIZING_DIM = 1;
inline void uniform(arma::mat& srcDst, double stdDev=1.0, double mu=0.5) inline void uniform(arma::mat& srcDst, double stdDev=1.0, double mu=0.5)
{ {
#if 0 #if 0
@@ -68,14 +69,13 @@ namespace Matutils
// Dim = 0: Normalize over training all training pattern // Dim = 0: Normalize over training all training pattern
// Dim = 1: Normalize over single training pattern // Dim = 1: Normalize over single training pattern
double k = 1; double k = 1;
size_t dim = 1; arma::mat mean = arma::mean(src, NORMALIZING_DIM);
arma::mat mean = arma::mean(src, dim); arma::mat stddev = arma::stddev(src, 0, NORMALIZING_DIM);
arma::mat stddev = arma::stddev(src, 0, dim);
arma::mat mean_mat; arma::mat mean_mat;
arma::mat std_mat; arma::mat std_mat;
if (dim==0) if (NORMALIZING_DIM==0)
{ {
mean_mat = arma::repmat(mean, src.n_rows, 1); mean_mat = arma::repmat(mean, src.n_rows, 1);
std_mat = arma::repmat(stddev, src.n_rows, 1); std_mat = arma::repmat(stddev, src.n_rows, 1);
@@ -88,11 +88,19 @@ namespace Matutils
arma::mat xn = src - mean_mat; arma::mat xn = src - mean_mat;
arma::mat y = xn/(std_mat + 1e-9); arma::mat y = xn/(std_mat + 1e-9);
std::cout << "mean" << " : " << std::endl << arma::mean(y, dim) << std::endl;
std::cout << "stddev" << ": " << std::endl << arma::stddev(y, 0, dim) << std::endl;
return y; return y;
} }
inline arma::mat mean(const arma::mat& src)
{
return arma::mean(src, NORMALIZING_DIM);
}
inline arma::mat stddev(const arma::mat& src)
{
return arma::stddev(src, 0, NORMALIZING_DIM);
}
inline arma::mat char2vec(char c, size_t len) inline arma::mat char2vec(char c, size_t len)
{ {
arma::mat result = arma::zeros(1, len); arma::mat result = arma::zeros(1, len);