[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