[mlpack-svn] r11292 - mlpack/trunk/src/mlpack/methods/neighbor_search
fastlab-svn at coffeetalk-1.cc.gatech.edu
fastlab-svn at coffeetalk-1.cc.gatech.edu
Thu Jan 26 15:03:34 EST 2012
Author: rcurtin
Date: 2012-01-26 15:03:34 -0500 (Thu, 26 Jan 2012)
New Revision: 11292
Modified:
mlpack/trunk/src/mlpack/methods/neighbor_search/allkfn_main.cpp
mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_main.cpp
Log:
Fix scoping issues. Stupid Ryan!
Modified: mlpack/trunk/src/mlpack/methods/neighbor_search/allkfn_main.cpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/allkfn_main.cpp 2012-01-26 05:32:49 UTC (rev 11291)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/allkfn_main.cpp 2012-01-26 20:03:34 UTC (rev 11292)
@@ -71,6 +71,7 @@
bool singleMode = CLI::HasParam("single_mode");
arma::mat referenceData;
+ arma::mat queryData; // So it doesn't go out of scope.
if (!data::Load(referenceFile.c_str(), referenceData))
Log::Fatal << "Reference file " << referenceFile << "not found." << endl;
@@ -116,6 +117,8 @@
BinarySpaceTree<bound::HRectBound<2>, QueryStat<FurthestNeighborSort> >
refTree(referenceData, oldFromNewRefs, leafSize);
+ BinarySpaceTree<bound::HRectBound<2>, QueryStat<FurthestNeighborSort> >*
+ queryTree = NULL; // Empty for now.
Timer::Stop("reference_tree_building");
@@ -124,7 +127,6 @@
if (CLI::GetParam<string>("query_file") != "")
{
string queryFile = CLI::GetParam<string>("query_file");
- arma::mat queryData;
if (!data::Load(queryFile.c_str(), queryData))
Log::Fatal << "Query file " << queryFile << " not found." << endl;
@@ -140,12 +142,13 @@
// NeighborSearch, it does not copy the matrix.
Timer::Start("query_tree_building");
- BinarySpaceTree<bound::HRectBound<2>, QueryStat<FurthestNeighborSort> >
- queryTree(queryData, oldFromNewQueries, leafSize);
+ queryTree = new BinarySpaceTree<bound::HRectBound<2>,
+ QueryStat<FurthestNeighborSort> >(queryData, oldFromNewQueries,
+ leafSize);
Timer::Stop("query_tree_building");
- allkfn = new AllkFN(&refTree, &queryTree, referenceData, queryData,
+ allkfn = new AllkFN(&refTree, queryTree, referenceData, queryData,
singleMode);
Log::Info << "Tree built." << endl;
@@ -199,6 +202,10 @@
}
}
+ // Clean up.
+ if (queryTree)
+ delete queryTree;
+
// Save output.
data::Save(distancesFile, distances);
data::Save(neighborsFile, neighbors);
Modified: mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_main.cpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_main.cpp 2012-01-26 05:32:49 UTC (rev 11291)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_main.cpp 2012-01-26 20:03:34 UTC (rev 11292)
@@ -72,6 +72,7 @@
bool singleMode = CLI::HasParam("single_mode");
arma::mat referenceData;
+ arma::mat queryData; // So it doesn't go out of scope.
if (!data::Load(referenceFile.c_str(), referenceData))
Log::Fatal << "Reference file " << referenceFile << "not found." << endl;
@@ -119,6 +120,8 @@
BinarySpaceTree<bound::HRectBound<2>, QueryStat<NearestNeighborSort> >
refTree(referenceData, oldFromNewRefs, leafSize);
+ BinarySpaceTree<bound::HRectBound<2>, QueryStat<NearestNeighborSort> >*
+ queryTree = NULL; // Empty for now.
Timer::Stop("tree_building");
@@ -127,7 +130,6 @@
if (CLI::GetParam<string>("query_file") != "")
{
string queryFile = CLI::GetParam<string>("query_file");
- arma::mat queryData;
if (!data::Load(queryFile.c_str(), queryData))
Log::Fatal << "Query file " << queryFile << " not found" << endl;
@@ -143,12 +145,13 @@
// NeighborSearch, it does not copy the matrix.
Timer::Start("tree_building");
- BinarySpaceTree<bound::HRectBound<2>, QueryStat<NearestNeighborSort> >
- queryTree(queryData, oldFromNewQueries, leafSize);
+ queryTree = new BinarySpaceTree<bound::HRectBound<2>,
+ QueryStat<NearestNeighborSort> >(queryData, oldFromNewQueries,
+ leafSize);
Timer::Stop("tree_building");
- allknn = new AllkNN(&refTree, &queryTree, referenceData, queryData,
+ allknn = new AllkNN(&refTree, queryTree, referenceData, queryData,
singleMode);
Log::Info << "Tree built." << endl;
@@ -202,6 +205,10 @@
}
}
+ // Clean up.
+ if (queryTree)
+ delete queryTree;
+
// Save output.
data::Save(distancesFile, distances);
data::Save(neighborsFile, neighbors);
More information about the mlpack-svn
mailing list