[mlpack-svn] r13352 - mlpack/trunk/src/mlpack/methods/neighbor_search

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Mon Aug 6 16:48:02 EDT 2012


Author: rcurtin
Date: 2012-08-06 16:48:02 -0400 (Mon, 06 Aug 2012)
New Revision: 13352

Modified:
   mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_main.cpp
Log:
Respect -s when combined with -c (single-mode cover trees).


Modified: mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_main.cpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_main.cpp	2012-08-06 20:39:05 UTC (rev 13351)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_main.cpp	2012-08-06 20:48:02 UTC (rev 13352)
@@ -148,13 +148,16 @@
 
       // Build trees by hand, so we can save memory: if we pass a tree to
       // NeighborSearch, it does not copy the matrix.
-      Timer::Start("tree_building");
+      if (!singleMode)
+      {
+        Timer::Start("tree_building");
 
-      queryTree = new BinarySpaceTree<bound::HRectBound<2>,
-                QueryStat<NearestNeighborSort> >(queryData, oldFromNewQueries,
-                    leafSize);
+        queryTree = new BinarySpaceTree<bound::HRectBound<2>,
+            QueryStat<NearestNeighborSort> >(queryData, oldFromNewQueries,
+            leafSize);
 
-      Timer::Stop("tree_building");
+        Timer::Stop("tree_building");
+      }
 
       allknn = new AllkNN(&refTree, queryTree, referenceData, queryData,
           singleMode);
@@ -243,23 +246,26 @@
       data::Load(queryFile, queryData, true);
 
       // Build query tree.
-      Log::Info << "Building query tree..." << endl;
-      Timer::Start("tree_building");
-      queryTree = new CoverTree<metric::LMetric<2>, tree::FirstPointIsRoot,
-          QueryStat<NearestNeighborSort> >(queryData);
-      Timer::Stop("tree_building");
+      if (!singleMode)
+      {
+        Log::Info << "Building query tree..." << endl;
+        Timer::Start("tree_building");
+        queryTree = new CoverTree<metric::LMetric<2>, tree::FirstPointIsRoot,
+            QueryStat<NearestNeighborSort> >(queryData);
+        Timer::Stop("tree_building");
+      }
 
       allknn = new NeighborSearch<NearestNeighborSort, metric::LMetric<2>,
           CoverTree<metric::LMetric<2>, tree::FirstPointIsRoot,
           QueryStat<NearestNeighborSort> > >(&referenceTree, queryTree,
-          referenceData, queryData, true);
+          referenceData, queryData, singleMode);
     }
     else
     {
       allknn = new NeighborSearch<NearestNeighborSort, metric::LMetric<2>,
           CoverTree<metric::LMetric<2>, tree::FirstPointIsRoot,
           QueryStat<NearestNeighborSort> > >(&referenceTree, referenceData,
-          true);
+          singleMode);
     }
 
     Log::Info << "Computing " << k << " nearest neighbors..." << endl;




More information about the mlpack-svn mailing list