[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