13 #ifndef MLPACK_METHODS_AMF_TERMINATION_POLICIES_MAX_ITERATION_TERMINATION_HPP
14 #define MLPACK_METHODS_AMF_TERMINATION_POLICIES_MAX_ITERATION_TERMINATION_HPP
34 maxIterations(maxIterations),
37 if (maxIterations == 0)
38 Log::Warn <<
"MaxIterationTermination::MaxIterationTermination(): given "
39 <<
"number of iterations is 0, so algorithm will never terminate!"
46 template<
typename MatType>
55 return (++iteration >= maxIterations);
62 return (iteration > maxIterations) ? 0 : maxIterations - iteration;
MaxIterationTermination(const size_t maxIterations)
Construct the termination policy with the given number of iterations allowed (default 1000)...
size_t Iteration() const
Get the current iteration.
size_t & Iteration()
Modify the current iteration.
void Initialize(const MatType &)
Initialize for the given matrix V (there is nothing to do).
size_t MaxIterations() const
Get the maximum number of iterations.
size_t Index()
Return something similar to the residue, which in this case is just the number of iterations left...
This termination policy only terminates when the maximum number of iterations has been reached...
static MLPACK_EXPORT util::PrefixedOutStream Warn
Prints warning messages prefixed with [WARN ].
size_t & MaxIterations()
Modify the maximum number of iterations.
bool IsConverged(const arma::mat &, const arma::mat &)
Check if convergence has occurred.