[mlpack-git] master: Don't give up if the residue is NaN or inf. (c0a0045)

gitdub at big.cc.gt.atl.ga.us gitdub at big.cc.gt.atl.ga.us
Mon Jun 1 15:50:24 EDT 2015


Repository : https://github.com/mlpack/mlpack

On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/cd08c87d14fa5fe4e4e917feb7ea787cd05f6fcd...c0a0045a8c6f73aa389c2c12cd7ea881e2a24dd2

>---------------------------------------------------------------

commit c0a0045a8c6f73aa389c2c12cd7ea881e2a24dd2
Author: Ryan Curtin <ryan at ratml.org>
Date:   Mon Jun 1 15:50:07 2015 -0400

    Don't give up if the residue is NaN or inf.


>---------------------------------------------------------------

c0a0045a8c6f73aa389c2c12cd7ea881e2a24dd2
 src/mlpack/methods/kmeans/kmeans_impl.hpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/mlpack/methods/kmeans/kmeans_impl.hpp b/src/mlpack/methods/kmeans/kmeans_impl.hpp
index 862010f..dc6361e 100644
--- a/src/mlpack/methods/kmeans/kmeans_impl.hpp
+++ b/src/mlpack/methods/kmeans/kmeans_impl.hpp
@@ -168,6 +168,8 @@ Cluster(const MatType& data,
     iteration++;
     Log::Info << "KMeans::Cluster(): iteration " << iteration << ", residual "
         << cNorm << ".\n";
+    if (isnan(cNorm) || isinf(cNorm)
+      cNorm = 1e-4; // Keep iterating.
 
   } while (cNorm > 1e-5 && iteration != maxIterations);
 



More information about the mlpack-git mailing list