From 1eb631d2540ff701151d7250f137df75c3d229c4 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Thu, 13 Jan 2022 10:27:10 +0000 Subject: [PATCH] - use arma::randu for uniform - use arma functions for sample() git-svn-id: http://moon:8086/svn/software/trunk/projects/Rbm@798 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- source/Rbm.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/source/Rbm.cpp b/source/Rbm.cpp index b620b8a..63447f3 100644 --- a/source/Rbm.cpp +++ b/source/Rbm.cpp @@ -240,7 +240,8 @@ arma::mat Rbm::sample(const arma::mat &src) { arma::mat dst = src; uniform(dst); - + +#if 0 for (size_t i=0; i < src.n_rows; i++) { for (size_t j=0; j < src.n_cols; j++) @@ -249,6 +250,11 @@ arma::mat Rbm::sample(const arma::mat &src) } } return dst; +#else + arma::umat res = (dst < src); + return arma::conv_to::from(res); + +#endif } arma::mat Rbm::v_to_h(const arma::mat &visible) const @@ -275,7 +281,7 @@ arma::mat Rbm::normalize(const arma::mat& src) void Rbm::uniform(arma::mat& srcDst, double stdDev, double mu) { -#if 1 +#if 0 for (size_t i=0; i < srcDst.n_rows; i++) { for (size_t j=0; j < srcDst.n_cols; j++) @@ -284,7 +290,7 @@ void Rbm::uniform(arma::mat& srcDst, double stdDev, double mu) } } #else - srcDst = stdDev*(arma::randu(srcDst.n_rows, srcDst.n_cols) + mu - 0.5); + srcDst = stdDev*(arma::randu(arma::size(srcDst)) + mu - 0.5); #endif }