[mlpack-svn] r14805 - mlpack/trunk/src/mlpack/tests
fastlab-svn at coffeetalk-1.cc.gatech.edu
fastlab-svn at coffeetalk-1.cc.gatech.edu
Mon Apr 1 20:58:34 EDT 2013
Author: rcurtin
Date: 2013-04-01 20:58:34 -0400 (Mon, 01 Apr 2013)
New Revision: 14805
Modified:
mlpack/trunk/src/mlpack/tests/gmm_test.cpp
Log:
Test Save() and Load() functionality for GMMs.
Modified: mlpack/trunk/src/mlpack/tests/gmm_test.cpp
===================================================================
--- mlpack/trunk/src/mlpack/tests/gmm_test.cpp 2013-04-02 00:58:15 UTC (rev 14804)
+++ mlpack/trunk/src/mlpack/tests/gmm_test.cpp 2013-04-02 00:58:34 UTC (rev 14805)
@@ -577,4 +577,46 @@
BOOST_REQUIRE_EQUAL(classes[12], 2);
}
+BOOST_AUTO_TEST_CASE(GMMLoadSaveTest)
+{
+ // Create a GMM, save it, and load it.
+ GMM<> gmm(10, 4);
+ gmm.Weights().randu();
+
+ for (size_t i = 0; i < gmm.Gaussians(); ++i)
+ {
+ gmm.Means()[i].randu();
+ gmm.Covariances()[i].randu();
+ }
+
+ gmm.Save("test-gmm-save.xml");
+
+ GMM<> gmm2;
+ gmm2.Load("test-gmm-save.xml");
+
+ // Remove clutter.
+ remove("test-gmm-save.xml");
+
+ BOOST_REQUIRE_EQUAL(gmm.Gaussians(), gmm2.Gaussians());
+ BOOST_REQUIRE_EQUAL(gmm.Dimensionality(), gmm2.Dimensionality());
+
+ for (size_t i = 0; i < gmm.Dimensionality(); ++i)
+ BOOST_REQUIRE_CLOSE(gmm.Weights()[i], gmm2.Weights()[i], 1e-3);
+
+ for (size_t i = 0; i < gmm.Gaussians(); ++i)
+ {
+ for (size_t j = 0; j < gmm.Dimensionality(); ++j)
+ BOOST_REQUIRE_CLOSE(gmm.Means()[i][j], gmm2.Means()[i][j], 1e-3);
+
+ for (size_t j = 0; j < gmm.Dimensionality(); ++j)
+ {
+ for (size_t k = 0; k < gmm.Dimensionality(); ++k)
+ {
+ BOOST_REQUIRE_CLOSE(gmm.Covariances()[i](j, k),
+ gmm2.Covariances()[i](j, k), 1e-3);
+ }
+ }
+ }
+}
+
BOOST_AUTO_TEST_SUITE_END();
More information about the mlpack-svn
mailing list