[mlpack-git] master: Add tests for FastMKSModel. (977afbe)

gitdub at big.cc.gt.atl.ga.us gitdub at big.cc.gt.atl.ga.us
Tue Dec 22 18:34:51 EST 2015


Repository : https://github.com/mlpack/mlpack

On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/eb41f4bc27b484c347acc006255104e2f8cc4eef...977afbec0648056124dcb206e0bf972a161d9b51

>---------------------------------------------------------------

commit 977afbec0648056124dcb206e0bf972a161d9b51
Author: ryan <ryan at ratml.org>
Date:   Tue Dec 22 18:34:23 2015 -0500

    Add tests for FastMKSModel.


>---------------------------------------------------------------

977afbec0648056124dcb206e0bf972a161d9b51
 src/mlpack/tests/fastmks_test.cpp | 116 ++------------------------------------
 1 file changed, 5 insertions(+), 111 deletions(-)

diff --git a/src/mlpack/tests/fastmks_test.cpp b/src/mlpack/tests/fastmks_test.cpp
index dd9f84b..11f93f0 100644
--- a/src/mlpack/tests/fastmks_test.cpp
+++ b/src/mlpack/tests/fastmks_test.cpp
@@ -636,7 +636,7 @@ BOOST_AUTO_TEST_CASE(FastMKSModelCosineTest)
 }
 
 // Test the Gaussian kernel mode of the FastMKSModel.
-BOOST_AUTO_TEST_CASE(FastMKSModelCosineTest)
+BOOST_AUTO_TEST_CASE(FastMKSModelGaussianTest)
 {
   GaussianKernel gk(1.5);
   arma::mat referenceData = arma::randu<arma::mat>(10, 100);
@@ -647,9 +647,9 @@ BOOST_AUTO_TEST_CASE(FastMKSModelCosineTest)
   FastMKSModel mNaive(FastMKSModel::GAUSSIAN_KERNEL);
   FastMKSModel mSingle(FastMKSModel::GAUSSIAN_KERNEL);
 
-  m.BuildModel(referenceData, ck, false, false, 2.0);
-  mNaive.BuildModel(referenceData, ck, false, true, 2.0);
-  mSingle.BuildModel(referenceData, ck, true, false, 2.0);
+  m.BuildModel(referenceData, gk, false, false, 2.0);
+  mNaive.BuildModel(referenceData, gk, false, true, 2.0);
+  mSingle.BuildModel(referenceData, gk, true, false, 2.0);
 
   // Now search, first monochromatically.
   arma::Mat<size_t> indices, mIndices, mNaiveIndices, mSingleIndices;
@@ -853,7 +853,7 @@ BOOST_AUTO_TEST_CASE(FastMKSModelTriangularTest)
   TriangularKernel tk(2.0);
   arma::mat referenceData = arma::randu<arma::mat>(10, 100);
 
-  FastMKS<TriangularKernel> f(referenceData, ck);
+  FastMKS<TriangularKernel> f(referenceData, tk);
 
   FastMKSModel m(FastMKSModel::TRIANGULAR_KERNEL);
   FastMKSModel mNaive(FastMKSModel::TRIANGULAR_KERNEL);
@@ -953,110 +953,4 @@ BOOST_AUTO_TEST_CASE(FastMKSModelTriangularTest)
   }
 }
 
-// Test the hyperbolic tangent kernel mode of the FastMKSModel.
-BOOST_AUTO_TEST_CASE(FastMKSModelHyptanTest)
-{
-  HyperbolicTangentKernel htk(1.0, 0.5);
-  arma::mat referenceData = arma::randu<arma::mat>(10, 100);
-
-  FastMKS<HyperbolicTangentKernel> f(referenceData, htk);
-
-  FastMKSModel m(FastMKSModel::HYPTAN_KERNEL);
-  FastMKSModel mNaive(FastMKSModel::HYPTAN_KERNEL);
-  FastMKSModel mSingle(FastMKSModel::HYPTAN_KERNEL);
-
-  m.BuildModel(referenceData, htk, false, false, 2.0);
-  mNaive.BuildModel(referenceData, htk, false, true, 2.0);
-  mSingle.BuildModel(referenceData, htk, true, false, 2.0);
-
-  // Now search, first monochromatically.
-  arma::Mat<size_t> indices, mIndices, mNaiveIndices, mSingleIndices;
-  arma::mat kernels, mKernels, mNaiveKernels, mSingleKernels;
-
-  f.Search(3, indices, kernels);
-  m.Search(3, mIndices, mKernels);
-  mNaive.Search(3, mNaiveIndices, mNaiveKernels);
-  mSingle.Search(3, mSingleIndices, mSingleKernels);
-
-  BOOST_REQUIRE_EQUAL(indices.n_cols, mIndices.n_cols);
-  BOOST_REQUIRE_EQUAL(indices.n_cols, mNaiveIndices.n_cols);
-  BOOST_REQUIRE_EQUAL(indices.n_cols, mSingleIndices.n_cols);
-
-  BOOST_REQUIRE_EQUAL(indices.n_rows, mIndices.n_rows);
-  BOOST_REQUIRE_EQUAL(indices.n_rows, mNaiveIndices.n_rows);
-  BOOST_REQUIRE_EQUAL(indices.n_rows, mSingleIndices.n_rows);
-
-  BOOST_REQUIRE_EQUAL(kernels.n_cols, mKernels.n_cols);
-  BOOST_REQUIRE_EQUAL(kernels.n_cols, mNaiveKernels.n_cols);
-  BOOST_REQUIRE_EQUAL(kernels.n_cols, mSingleKernels.n_cols);
-
-  BOOST_REQUIRE_EQUAL(kernels.n_rows, mKernels.n_rows);
-  BOOST_REQUIRE_EQUAL(kernels.n_rows, mNaiveKernels.n_rows);
-  BOOST_REQUIRE_EQUAL(kernels.n_rows, mSingleKernels.n_rows);
-
-  for (size_t i = 0; i < indices.n_elem; ++i)
-  {
-    BOOST_REQUIRE_EQUAL(indices[i], mIndices[i]);
-    BOOST_REQUIRE_EQUAL(indices[i], mNaiveIndices[i]);
-    BOOST_REQUIRE_EQUAL(indices[i], mSingleIndices[i]);
-
-    if (std::abs(kernels[i]) < 1e-5)
-    {
-      BOOST_REQUIRE_SMALL(mKernels[i], 1e-5);
-      BOOST_REQUIRE_SMALL(mNaiveKernels[i], 1e-5);
-      BOOST_REQUIRE_SMALL(mSingleKernels[i], 1e-5);
-    }
-    else
-    {
-      BOOST_REQUIRE_CLOSE(kernels[i], mKernels[i], 1e-5);
-      BOOST_REQUIRE_CLOSE(kernels[i], mNaiveKernels[i], 1e-5);
-      BOOST_REQUIRE_CLOSE(kernels[i], mSingleKernels[i], 1e-5);
-    }
-  }
-
-  // Now test with a different query set.
-  arma::mat querySet = arma::randu<arma::mat>(10, 50);
-
-  f.Search(querySet, 3, indices, kernels);
-  m.Search(querySet, 3, mIndices, mKernels, 2.0);
-  mNaive.Search(querySet, 3, mNaiveIndices, mNaiveKernels, 2.0);
-  mSingle.Search(querySet, 3, mSingleIndices, mSingleKernels, 2.0);
-
-  BOOST_REQUIRE_EQUAL(indices.n_cols, mIndices.n_cols);
-  BOOST_REQUIRE_EQUAL(indices.n_cols, mNaiveIndices.n_cols);
-  BOOST_REQUIRE_EQUAL(indices.n_cols, mSingleIndices.n_cols);
-
-  BOOST_REQUIRE_EQUAL(indices.n_rows, mIndices.n_rows);
-  BOOST_REQUIRE_EQUAL(indices.n_rows, mNaiveIndices.n_rows);
-  BOOST_REQUIRE_EQUAL(indices.n_rows, mSingleIndices.n_rows);
-
-  BOOST_REQUIRE_EQUAL(kernels.n_cols, mKernels.n_cols);
-  BOOST_REQUIRE_EQUAL(kernels.n_cols, mNaiveKernels.n_cols);
-  BOOST_REQUIRE_EQUAL(kernels.n_cols, mSingleKernels.n_cols);
-
-  BOOST_REQUIRE_EQUAL(kernels.n_rows, mKernels.n_rows);
-  BOOST_REQUIRE_EQUAL(kernels.n_rows, mNaiveKernels.n_rows);
-  BOOST_REQUIRE_EQUAL(kernels.n_rows, mSingleKernels.n_rows);
-
-  for (size_t i = 0; i < indices.n_elem; ++i)
-  {
-    BOOST_REQUIRE_EQUAL(indices[i], mIndices[i]);
-    BOOST_REQUIRE_EQUAL(indices[i], mNaiveIndices[i]);
-    BOOST_REQUIRE_EQUAL(indices[i], mSingleIndices[i]);
-
-    if (std::abs(kernels[i]) < 1e-5)
-    {
-      BOOST_REQUIRE_SMALL(mKernels[i], 1e-5);
-      BOOST_REQUIRE_SMALL(mNaiveKernels[i], 1e-5);
-      BOOST_REQUIRE_SMALL(mSingleKernels[i], 1e-5);
-    }
-    else
-    {
-      BOOST_REQUIRE_CLOSE(kernels[i], mKernels[i], 1e-5);
-      BOOST_REQUIRE_CLOSE(kernels[i], mNaiveKernels[i], 1e-5);
-      BOOST_REQUIRE_CLOSE(kernels[i], mSingleKernels[i], 1e-5);
-    }
-  }
-}
-
 BOOST_AUTO_TEST_SUITE_END();



More information about the mlpack-git mailing list