[mlpack-git] master: Fix trees ordering. (65df1ea)
gitdub at mlpack.org
gitdub at mlpack.org
Wed May 4 11:06:43 EDT 2016
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/4c8a8d1ccbc33916794fe0f6142fa5378ff8503d...93eb34cc4daf08cc331d1a22fccf44950b276daa
>---------------------------------------------------------------
commit 65df1ea29a700fff54e386acd76eeaa6cb85b0df
Author: Mikhail Lozhnikov <lozhnikovma at gmail.com>
Date: Thu Apr 7 18:01:42 2016 +0300
Fix trees ordering.
>---------------------------------------------------------------
65df1ea29a700fff54e386acd76eeaa6cb85b0df
src/mlpack/methods/neighbor_search/allkfn_main.cpp | 4 +-
src/mlpack/methods/neighbor_search/allknn_main.cpp | 4 +-
src/mlpack/methods/neighbor_search/ns_model.hpp | 2 +-
.../methods/neighbor_search/ns_model_impl.hpp | 72 +++++++++++-----------
.../methods/range_search/range_search_main.cpp | 4 +-
src/mlpack/methods/range_search/rs_model.cpp | 40 ++++++------
src/mlpack/methods/range_search/rs_model.hpp | 4 +-
src/mlpack/methods/range_search/rs_model_impl.hpp | 28 ++++-----
8 files changed, 79 insertions(+), 79 deletions(-)
diff --git a/src/mlpack/methods/neighbor_search/allkfn_main.cpp b/src/mlpack/methods/neighbor_search/allkfn_main.cpp
index 975b23f..3902259 100644
--- a/src/mlpack/methods/neighbor_search/allkfn_main.cpp
+++ b/src/mlpack/methods/neighbor_search/allkfn_main.cpp
@@ -158,10 +158,10 @@ int main(int argc, char *argv[])
tree = KFNModel::R_TREE;
else if (treeType == "r-star")
tree = KFNModel::R_STAR_TREE;
- else if (treeType == "x")
- tree = KFNModel::X_TREE;
else if (treeType == "ball")
tree = KFNModel::BALL_TREE;
+ else if (treeType == "x")
+ tree = KFNModel::X_TREE;
else
Log::Fatal << "Unknown tree type '" << treeType << "'; valid choices are "
<< "'kd', 'cover', 'r', 'r-star', 'x' and 'ball'." << endl;
diff --git a/src/mlpack/methods/neighbor_search/allknn_main.cpp b/src/mlpack/methods/neighbor_search/allknn_main.cpp
index 5440e26..1bc3996 100644
--- a/src/mlpack/methods/neighbor_search/allknn_main.cpp
+++ b/src/mlpack/methods/neighbor_search/allknn_main.cpp
@@ -162,10 +162,10 @@ int main(int argc, char *argv[])
tree = KNNModel::R_TREE;
else if (treeType == "r-star")
tree = KNNModel::R_STAR_TREE;
- else if (treeType == "x")
- tree = KNNModel::X_TREE;
else if (treeType == "ball")
tree = KNNModel::BALL_TREE;
+ else if (treeType == "x")
+ tree = KNNModel::X_TREE;
else
Log::Fatal << "Unknown tree type '" << treeType << "'; valid choices are "
<< "'kd', 'cover', 'r', 'r-star', 'x' and 'ball'." << endl;
diff --git a/src/mlpack/methods/neighbor_search/ns_model.hpp b/src/mlpack/methods/neighbor_search/ns_model.hpp
index 2b1b1d7..3de4d12 100644
--- a/src/mlpack/methods/neighbor_search/ns_model.hpp
+++ b/src/mlpack/methods/neighbor_search/ns_model.hpp
@@ -75,8 +75,8 @@ class NSModel
NSType<tree::StandardCoverTree>* coverTreeNS;
NSType<tree::RTree>* rTreeNS;
NSType<tree::RStarTree>* rStarTreeNS;
- NSType<tree::XTree>* xTreeNS;
NSType<tree::BallTree>* ballTreeNS;
+ NSType<tree::XTree>* xTreeNS;
public:
/**
diff --git a/src/mlpack/methods/neighbor_search/ns_model_impl.hpp b/src/mlpack/methods/neighbor_search/ns_model_impl.hpp
index 8155eda..2571967 100644
--- a/src/mlpack/methods/neighbor_search/ns_model_impl.hpp
+++ b/src/mlpack/methods/neighbor_search/ns_model_impl.hpp
@@ -28,8 +28,8 @@ NSModel<SortPolicy>::NSModel(int treeType, bool randomBasis) :
coverTreeNS(NULL),
rTreeNS(NULL),
rStarTreeNS(NULL),
- xTreeNS(NULL),
- ballTreeNS(NULL)
+ ballTreeNS(NULL),
+ xTreeNS(NULL)
{
// Nothing to do.
}
@@ -46,10 +46,10 @@ NSModel<SortPolicy>::~NSModel()
delete rTreeNS;
if (rStarTreeNS)
delete rStarTreeNS;
- if (xTreeNS)
- delete xTreeNS;
if (ballTreeNS)
delete ballTreeNS;
+ if (xTreeNS)
+ delete xTreeNS;
}
//! Serialize the kNN model.
@@ -73,18 +73,18 @@ void NSModel<SortPolicy>::Serialize(Archive& ar,
delete rTreeNS;
if (rStarTreeNS)
delete rStarTreeNS;
- if (xTreeNS)
- delete xTreeNS;
if (ballTreeNS)
delete ballTreeNS;
+ if (xTreeNS)
+ delete xTreeNS;
// Set all the pointers to NULL.
kdTreeNS = NULL;
coverTreeNS = NULL;
rTreeNS = NULL;
rStarTreeNS = NULL;
- xTreeNS = NULL;
ballTreeNS = NULL;
+ xTreeNS = NULL;
}
// We'll only need to serialize one of the kNN objects, based on the type.
@@ -103,12 +103,12 @@ void NSModel<SortPolicy>::Serialize(Archive& ar,
case R_STAR_TREE:
ar & data::CreateNVP(rStarTreeNS, name);
break;
- case X_TREE:
- ar & data::CreateNVP(xTreeNS, name);
- break;
case BALL_TREE:
ar & data::CreateNVP(ballTreeNS, name);
break;
+ case X_TREE:
+ ar & data::CreateNVP(xTreeNS, name);
+ break;
}
}
@@ -123,10 +123,10 @@ const arma::mat& NSModel<SortPolicy>::Dataset() const
return rTreeNS->ReferenceSet();
else if (rStarTreeNS)
return rStarTreeNS->ReferenceSet();
- else if (xTreeNS)
- return xTreeNS->ReferenceSet();
else if (ballTreeNS)
return ballTreeNS->ReferenceSet();
+ else if (xTreeNS)
+ return xTreeNS->ReferenceSet();
throw std::runtime_error("no neighbor search model initialized");
}
@@ -143,10 +143,10 @@ bool NSModel<SortPolicy>::SingleMode() const
return rTreeNS->SingleMode();
else if (rStarTreeNS)
return rStarTreeNS->SingleMode();
- else if (xTreeNS)
- return xTreeNS->SingleMode();
else if (ballTreeNS)
return ballTreeNS->SingleMode();
+ else if (xTreeNS)
+ return xTreeNS->SingleMode();
throw std::runtime_error("no neighbor search model initialized");
}
@@ -162,10 +162,10 @@ bool& NSModel<SortPolicy>::SingleMode()
return rTreeNS->SingleMode();
else if (rStarTreeNS)
return rStarTreeNS->SingleMode();
- else if (xTreeNS)
- return xTreeNS->SingleMode();
else if (ballTreeNS)
return ballTreeNS->SingleMode();
+ else if (xTreeNS)
+ return xTreeNS->SingleMode();
throw std::runtime_error("no neighbor search model initialized");
}
@@ -181,10 +181,10 @@ bool NSModel<SortPolicy>::Naive() const
return rTreeNS->Naive();
else if (rStarTreeNS)
return rStarTreeNS->Naive();
- else if (xTreeNS)
- return xTreeNS->Naive();
else if (ballTreeNS)
return ballTreeNS->Naive();
+ else if (xTreeNS)
+ return xTreeNS->Naive();
throw std::runtime_error("no neighbor search model initialized");
}
@@ -200,10 +200,10 @@ bool& NSModel<SortPolicy>::Naive()
return rTreeNS->Naive();
else if (rStarTreeNS)
return rStarTreeNS->Naive();
- else if (xTreeNS)
- return xTreeNS->Naive();
else if (ballTreeNS)
return ballTreeNS->Naive();
+ else if (xTreeNS)
+ return xTreeNS->Naive();
throw std::runtime_error("no neighbor search model initialized");
}
@@ -256,10 +256,10 @@ void NSModel<SortPolicy>::BuildModel(arma::mat&& referenceSet,
delete rTreeNS;
if (rStarTreeNS)
delete rStarTreeNS;
- if (xTreeNS)
- delete xTreeNS;
if (ballTreeNS)
delete ballTreeNS;
+ if (xTreeNS)
+ delete xTreeNS;
// Do we need to modify the reference set?
if (randomBasis)
@@ -309,11 +309,6 @@ void NSModel<SortPolicy>::BuildModel(arma::mat&& referenceSet,
rStarTreeNS = new NSType<tree::RStarTree>(std::move(referenceSet), naive,
singleMode);
break;
- case X_TREE:
- // If necessary, build the X tree.
- xTreeNS = new NSType<tree::XTree>(std::move(referenceSet), naive,
- singleMode);
- break;
case BALL_TREE:
// If necessary, build the ball tree.
if (naive)
@@ -335,6 +330,11 @@ void NSModel<SortPolicy>::BuildModel(arma::mat&& referenceSet,
}
break;
+ case X_TREE:
+ // If necessary, build the X tree.
+ xTreeNS = new NSType<tree::XTree>(std::move(referenceSet), naive,
+ singleMode);
+ break;
}
if (!naive)
@@ -408,10 +408,6 @@ void NSModel<SortPolicy>::Search(arma::mat&& querySet,
// No mapping necessary.
rStarTreeNS->Search(querySet, k, neighbors, distances);
break;
- case X_TREE:
- // No mapping necessary.
- xTreeNS->Search(querySet, k, neighbors, distances);
- break;
case BALL_TREE:
if (!ballTreeNS->Naive() && !ballTreeNS->SingleMode())
{
@@ -444,6 +440,10 @@ void NSModel<SortPolicy>::Search(arma::mat&& querySet,
}
break;
+ case X_TREE:
+ // No mapping necessary.
+ xTreeNS->Search(querySet, k, neighbors, distances);
+ break;
}
}
@@ -475,12 +475,12 @@ void NSModel<SortPolicy>::Search(const size_t k,
case R_STAR_TREE:
rStarTreeNS->Search(k, neighbors, distances);
break;
- case X_TREE:
- xTreeNS->Search(k, neighbors, distances);
- break;
case BALL_TREE:
ballTreeNS->Search(k, neighbors, distances);
break;
+ case X_TREE:
+ xTreeNS->Search(k, neighbors, distances);
+ break;
}
}
@@ -498,10 +498,10 @@ std::string NSModel<SortPolicy>::TreeName() const
return "R tree";
case R_STAR_TREE:
return "R* tree";
- case X_TREE:
- return "X tree";
case BALL_TREE:
return "ball tree";
+ case X_TREE:
+ return "X tree";
default:
return "unknown tree";
}
diff --git a/src/mlpack/methods/range_search/range_search_main.cpp b/src/mlpack/methods/range_search/range_search_main.cpp
index fe870c4..48fd2ed 100644
--- a/src/mlpack/methods/range_search/range_search_main.cpp
+++ b/src/mlpack/methods/range_search/range_search_main.cpp
@@ -169,10 +169,10 @@ int main(int argc, char *argv[])
tree = RSModel::R_TREE;
else if (treeType == "r-star")
tree = RSModel::R_STAR_TREE;
- else if (treeType == "x")
- tree = RSModel::X_TREE;
else if (treeType == "ball")
tree = RSModel::BALL_TREE;
+ else if (treeType == "x")
+ tree = RSModel::X_TREE;
else
Log::Fatal << "Unknown tree type '" << treeType << "; valid choices are "
<< "'kd', 'cover', 'r', 'r-star', 'x' and 'ball'." << endl;
diff --git a/src/mlpack/methods/range_search/rs_model.cpp b/src/mlpack/methods/range_search/rs_model.cpp
index 27f05ad..7ffc97d 100644
--- a/src/mlpack/methods/range_search/rs_model.cpp
+++ b/src/mlpack/methods/range_search/rs_model.cpp
@@ -21,8 +21,8 @@ RSModel::RSModel(int treeType, bool randomBasis) :
coverTreeRS(NULL),
rTreeRS(NULL),
rStarTreeRS(NULL),
- xTreeRS(NULL),
- ballTreeRS(NULL)
+ ballTreeRS(NULL),
+ xTreeRS(NULL)
{
// Nothing to do.
}
@@ -96,11 +96,6 @@ void RSModel::BuildModel(arma::mat&& referenceSet,
singleMode);
break;
- case X_TREE:
- xTreeRS = new RSType<tree::XTree>(move(referenceSet), naive,
- singleMode);
- break;
-
case BALL_TREE:
// If necessary, build the ball tree.
if (naive)
@@ -122,6 +117,11 @@ void RSModel::BuildModel(arma::mat&& referenceSet,
}
break;
+
+ case X_TREE:
+ xTreeRS = new RSType<tree::XTree>(move(referenceSet), naive,
+ singleMode);
+ break;
}
if (!naive)
@@ -196,10 +196,6 @@ void RSModel::Search(arma::mat&& querySet,
rStarTreeRS->Search(querySet, range, neighbors, distances);
break;
- case X_TREE:
- xTreeRS->Search(querySet, range, neighbors, distances);
- break;
-
case BALL_TREE:
if (!ballTreeRS->Naive() && !ballTreeRS->SingleMode())
{
@@ -231,6 +227,10 @@ void RSModel::Search(arma::mat&& querySet,
ballTreeRS->Search(querySet, range, neighbors, distances);
}
break;
+
+ case X_TREE:
+ xTreeRS->Search(querySet, range, neighbors, distances);
+ break;
}
}
@@ -266,13 +266,13 @@ void RSModel::Search(const math::Range& range,
rStarTreeRS->Search(range, neighbors, distances);
break;
- case X_TREE:
- xTreeRS->Search(range, neighbors, distances);
- break;
-
case BALL_TREE:
ballTreeRS->Search(range, neighbors, distances);
break;
+
+ case X_TREE:
+ xTreeRS->Search(range, neighbors, distances);
+ break;
}
}
@@ -289,10 +289,10 @@ std::string RSModel::TreeName() const
return "R tree";
case R_STAR_TREE:
return "R* tree";
- case X_TREE:
- return "X tree";
case BALL_TREE:
return "ball tree";
+ case X_TREE:
+ return "X tree";
default:
return "unknown tree";
}
@@ -309,15 +309,15 @@ void RSModel::CleanMemory()
delete rTreeRS;
if (rStarTreeRS)
delete rStarTreeRS;
- if (xTreeRS)
- delete xTreeRS;
if (ballTreeRS)
delete ballTreeRS;
+ if (xTreeRS)
+ delete xTreeRS;
kdTreeRS = NULL;
coverTreeRS = NULL;
rTreeRS = NULL;
rStarTreeRS = NULL;
- xTreeRS = NULL;
ballTreeRS = NULL;
+ xTreeRS = NULL;
}
diff --git a/src/mlpack/methods/range_search/rs_model.hpp b/src/mlpack/methods/range_search/rs_model.hpp
index e88f6ea..80d600e 100644
--- a/src/mlpack/methods/range_search/rs_model.hpp
+++ b/src/mlpack/methods/range_search/rs_model.hpp
@@ -56,10 +56,10 @@ class RSModel
RSType<tree::RTree>* rTreeRS;
//! R* tree based range search object (NULL if not in use).
RSType<tree::RStarTree>* rStarTreeRS;
- //! X tree based range search object (NULL if not in use).
- RSType<tree::XTree>* xTreeRS;
//! Ball tree based range search object (NULL if not in use).
RSType<tree::BallTree>* ballTreeRS;
+ //! X tree based range search object (NULL if not in use).
+ RSType<tree::XTree>* xTreeRS;
public:
/**
diff --git a/src/mlpack/methods/range_search/rs_model_impl.hpp b/src/mlpack/methods/range_search/rs_model_impl.hpp
index 77a8068..ed1087e 100644
--- a/src/mlpack/methods/range_search/rs_model_impl.hpp
+++ b/src/mlpack/methods/range_search/rs_model_impl.hpp
@@ -46,13 +46,13 @@ void RSModel::Serialize(Archive& ar, const unsigned int /* version */)
ar & CreateNVP(rStarTreeRS, "range_search_model");
break;
- case X_TREE:
- ar & CreateNVP(xTreeRS, "range_search_model");
- break;
-
case BALL_TREE:
ar & CreateNVP(ballTreeRS, "range_search_model");
break;
+
+ case X_TREE:
+ ar & CreateNVP(xTreeRS, "range_search_model");
+ break;
}
}
@@ -66,10 +66,10 @@ inline const arma::mat& RSModel::Dataset() const
return rTreeRS->ReferenceSet();
else if (rStarTreeRS)
return rStarTreeRS->ReferenceSet();
- else if (xTreeRS)
- return xTreeRS->ReferenceSet();
else if (ballTreeRS)
return ballTreeRS->ReferenceSet();
+ else if (xTreeRS)
+ return xTreeRS->ReferenceSet();
throw std::runtime_error("no range search model initialized");
}
@@ -84,10 +84,10 @@ inline bool RSModel::SingleMode() const
return rTreeRS->SingleMode();
else if (rStarTreeRS)
return rStarTreeRS->SingleMode();
- else if (xTreeRS)
- return xTreeRS->SingleMode();
else if (ballTreeRS)
return ballTreeRS->SingleMode();
+ else if (xTreeRS)
+ return xTreeRS->SingleMode();
throw std::runtime_error("no range search model initialized");
}
@@ -102,10 +102,10 @@ inline bool& RSModel::SingleMode()
return rTreeRS->SingleMode();
else if (rStarTreeRS)
return rStarTreeRS->SingleMode();
- else if (xTreeRS)
- return xTreeRS->SingleMode();
else if (ballTreeRS)
return ballTreeRS->SingleMode();
+ else if (xTreeRS)
+ return xTreeRS->SingleMode();
throw std::runtime_error("no range search model initialized");
}
@@ -120,10 +120,10 @@ inline bool RSModel::Naive() const
return rTreeRS->Naive();
else if (rStarTreeRS)
return rStarTreeRS->Naive();
- else if (xTreeRS)
- return xTreeRS->Naive();
else if (ballTreeRS)
return ballTreeRS->Naive();
+ else if (xTreeRS)
+ return xTreeRS->Naive();
throw std::runtime_error("no range search model initialized");
}
@@ -138,10 +138,10 @@ inline bool& RSModel::Naive()
return rTreeRS->Naive();
else if (rStarTreeRS)
return rStarTreeRS->Naive();
- else if (xTreeRS)
- return xTreeRS->Naive();
else if (ballTreeRS)
return ballTreeRS->Naive();
+ else if (xTreeRS)
+ return xTreeRS->Naive();
throw std::runtime_error("no range search model initialized");
}
More information about the mlpack-git
mailing list