[mlpack-git] master: Adds Bichromatic Parallel Test (abef504)
gitdub at mlpack.org
gitdub at mlpack.org
Fri Jul 8 14:36:43 EDT 2016
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/34cf8d94f79c9a72ff4199676033b060cd039fcd...425324bf7fb7c86c85d10a909d8a59d4f69b7164
>---------------------------------------------------------------
commit abef5045c4ac6f352bbc33897b4130276d099800
Author: Yannis Mentekidis <mentekid at gmail.com>
Date: Sun Jun 19 15:01:38 2016 +0300
Adds Bichromatic Parallel Test
>---------------------------------------------------------------
abef5045c4ac6f352bbc33897b4130276d099800
src/mlpack/tests/lsh_test.cpp | 38 +++++++++++++++++++++++++++++++++++---
1 file changed, 35 insertions(+), 3 deletions(-)
diff --git a/src/mlpack/tests/lsh_test.cpp b/src/mlpack/tests/lsh_test.cpp
index 8ddb7d3..2307ec8 100644
--- a/src/mlpack/tests/lsh_test.cpp
+++ b/src/mlpack/tests/lsh_test.cpp
@@ -481,9 +481,9 @@ BOOST_AUTO_TEST_CASE(DeterministicNoMerge)
/**
* Test: This test verifies that parallel query processing returns correct
- * results.
+ * results for the bichromatic search.
*/
-BOOST_AUTO_TEST_CASE(ParallelQueryTest)
+BOOST_AUTO_TEST_CASE(ParallelBichromatic)
{
// kNN and LSH parameters (use LSH default parameters).
const int k = 4;
@@ -514,9 +514,41 @@ BOOST_AUTO_TEST_CASE(ParallelQueryTest)
// Require both have same results
double recall = ComputeRecall(sequentialNeighbors, parallelNeighbors);
BOOST_REQUIRE_EQUAL(recall, 1);
-
}
+/**
+ * Test: This test verifies that parallel query processing returns correct
+ * results for the monochromatic search.
+ */
+BOOST_AUTO_TEST_CASE(ParallelMonochromatic)
+{
+ // kNN and LSH parameters (use LSH default parameters).
+ const int k = 4;
+ const int numTables = 16;
+ const int numProj = 3;
+
+ // Read iris training data as reference and query set.
+ const string trainSet = "iris_train.csv";
+ arma::mat rdata;
+ data::Load(trainSet, rdata, true);
+
+ // Where to store neighbors and distances
+ arma::Mat<size_t> sequentialNeighbors;
+ arma::Mat<size_t> parallelNeighbors;
+ arma::mat distances;
+
+ // Construct an LSH object. By default, it uses the maximum number of threads
+ LSHSearch<> lshTest(rdata, numProj, numTables); //default parameters
+ lshTest.Search(k, parallelNeighbors, distances);
+
+ // Now perform same search but with 1 thread
+ lshTest.MaxThreads(1);
+ lshTest.Search(k, sequentialNeighbors, distances);
+
+ // Require both have same results
+ double recall = ComputeRecall(sequentialNeighbors, parallelNeighbors);
+ BOOST_REQUIRE_EQUAL(recall, 1);
+}
BOOST_AUTO_TEST_CASE(LSHTrainTest)
{
More information about the mlpack-git
mailing list