[mlpack-git] master: Only unmap if necessary. (ac2d3a0)
gitdub at big.cc.gt.atl.ga.us
gitdub at big.cc.gt.atl.ga.us
Wed May 20 23:06:06 EDT 2015
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/77d750c8fd46140b1d6060424f68768a21c89377...7e9cd46afb53817ae93ccbd02637d7726137ce4d
>---------------------------------------------------------------
commit ac2d3a0f480c75ce4bc8bb5833b57f4223225db8
Author: Ryan Curtin <ryan at ratml.org>
Date: Fri May 8 16:18:07 2015 -0400
Only unmap if necessary.
>---------------------------------------------------------------
ac2d3a0f480c75ce4bc8bb5833b57f4223225db8
src/mlpack/methods/kmeans/dual_tree_kmeans_impl.hpp | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/mlpack/methods/kmeans/dual_tree_kmeans_impl.hpp b/src/mlpack/methods/kmeans/dual_tree_kmeans_impl.hpp
index 78d7b77..8ccdb43 100644
--- a/src/mlpack/methods/kmeans/dual_tree_kmeans_impl.hpp
+++ b/src/mlpack/methods/kmeans/dual_tree_kmeans_impl.hpp
@@ -113,10 +113,13 @@ double DualTreeKMeans<MetricType, MatType, TreeType>::Iterate(
nns.Search(1, closestClusters, interclusterDistancesTemp);
distanceCalculations += nns.BaseCases() + nns.Scores();
- // We need to do the unmapping ourselves.
- for (size_t i = 0; i < interclusterDistances.n_elem; ++i)
- interclusterDistances[oldFromNewCentroids[i]] =
- interclusterDistancesTemp[i];
+ // We need to do the unmapping ourselves, if the tree does mapping.
+ if (tree::TreeTraits<TreeType>::RearrangesDataset)
+ {
+ for (size_t i = 0; i < interclusterDistances.n_elem; ++i)
+ interclusterDistances[oldFromNewCentroids[i]] =
+ interclusterDistancesTemp[i];
+ }
Timer::Stop("knn");
More information about the mlpack-git
mailing list