Log the optimization process (values, Jacobians, time taken etc.). More...
#include <roboptim/core/optimization-logger.hh>
Public Types | |
typedef SolverCallback< S > | parent_t |
typedef S | solver_t |
Solver type. | |
typedef solver_t::problem_t | problem_t |
Solver problem type. | |
typedef solver_t::problem_t::value_type | value_type |
typedef solver_t::problem_t::size_type | size_type |
typedef solver_t::problem_t::vector_t | vector_t |
typedef solver_t::solverState_t | solverState_t |
State of the solver. | |
typedef solver_t::callback_t | callback_t |
Per-iteration callback type. | |
typedef solver_t::problem_t::function_t::traits_t | traits_t |
typedef solver_t::problem_t::function_t | function_t |
typedef function_t::matrix_t | jacobian_t |
typedef function_t::const_argument_ref | const_argument_ref |
typedef GenericDifferentiableFunction < traits_t > | differentiableFunction_t |
Public Member Functions | |
OptimizationLogger (solver_t &solver, const boost::filesystem::path &path, bool selfRegister=true) | |
Constructor. | |
virtual | ~OptimizationLogger () |
Destructor. | |
void | append (const std::string &text) |
Append extra information to the log file. | |
OptimizationLogger< S > & | operator<< (const std::string &text) |
Append extra information to the log file. | |
template<typename U > | |
OptimizationLogger< S > & | operator<< (const U &u) |
Append extra information to the log file. | |
const boost::filesystem::path & | logPath () const |
Return the path of the log directory. | |
virtual std::ostream & | print (std::ostream &o) const |
Display the logger on the specified output stream. | |
Protected Member Functions | |
void | perIterationCallback (const problem_t &pb, solverState_t &state) |
Wrapper around the callback function that catch exceptions. | |
virtual void | perIterationCallbackUnsafe (const typename solver_t::problem_t &pb, typename solver_t::solverState_t &state) |
const boost::filesystem::path & | path () const |
Return the path of the log directory. | |
boost::filesystem::path & | path () |
Return the path of the log directory. | |
const solver_t & | solver () const |
Return the solver associated with the logger. | |
solver_t & | solver () |
Return the solver associated with the logger. | |
unsigned | callbackCallId () const |
Return the callback iteration index. |
Log the optimization process (values, Jacobians, time taken etc.).
S | solver type. |
typedef solver_t::callback_t roboptim::OptimizationLogger< S >::callback_t |
Per-iteration callback type.
Callback parameters:
Reimplemented from roboptim::SolverCallback< S >.
typedef function_t::const_argument_ref roboptim::OptimizationLogger< S >::const_argument_ref |
typedef GenericDifferentiableFunction<traits_t> roboptim::OptimizationLogger< S >::differentiableFunction_t |
typedef solver_t::problem_t::function_t roboptim::OptimizationLogger< S >::function_t |
typedef function_t::matrix_t roboptim::OptimizationLogger< S >::jacobian_t |
typedef SolverCallback<S> roboptim::OptimizationLogger< S >::parent_t |
typedef solver_t::problem_t roboptim::OptimizationLogger< S >::problem_t |
Solver problem type.
Reimplemented from roboptim::SolverCallback< S >.
typedef solver_t::problem_t::size_type roboptim::OptimizationLogger< S >::size_type |
typedef S roboptim::OptimizationLogger< S >::solver_t |
Solver type.
Reimplemented from roboptim::SolverCallback< S >.
typedef solver_t::solverState_t roboptim::OptimizationLogger< S >::solverState_t |
State of the solver.
Reimplemented from roboptim::SolverCallback< S >.
typedef solver_t::problem_t::function_t::traits_t roboptim::OptimizationLogger< S >::traits_t |
typedef solver_t::problem_t::value_type roboptim::OptimizationLogger< S >::value_type |
typedef solver_t::problem_t::vector_t roboptim::OptimizationLogger< S >::vector_t |
roboptim::OptimizationLogger< T >::OptimizationLogger | ( | solver_t & | solver, |
const boost::filesystem::path & | path, | ||
bool | selfRegister = true |
||
) | [explicit] |
Constructor.
solver | solver that will be logged. |
path | path to the log directory. |
selfRegister | whether the logger will register itself as a callback with the solver. Set this to false if you use it with a multiplexer. |
References roboptim::iendl().
roboptim::OptimizationLogger< T >::~OptimizationLogger | ( | ) | [virtual] |
void roboptim::OptimizationLogger< T >::append | ( | const std::string & | text | ) |
Append extra information to the log file.
text | text to append. |
References roboptim::iendl().
unsigned roboptim::OptimizationLogger< T >::callbackCallId | ( | ) | const [protected] |
Return the callback iteration index.
const boost::filesystem::path & roboptim::OptimizationLogger< T >::logPath | ( | ) | const |
Return the path of the log directory.
OptimizationLogger< T > & roboptim::OptimizationLogger< T >::operator<< | ( | const std::string & | text | ) |
Append extra information to the log file.
text | text to append. |
OptimizationLogger< T > & roboptim::OptimizationLogger< T >::operator<< | ( | const U & | u | ) |
Append extra information to the log file.
u | object to print. |
const boost::filesystem::path & roboptim::OptimizationLogger< T >::path | ( | ) | const [protected] |
Return the path of the log directory.
boost::filesystem::path & roboptim::OptimizationLogger< T >::path | ( | ) | [protected] |
Return the path of the log directory.
This method is protected since streams would need to be updated, and files that were already written moved to the new location.
void roboptim::OptimizationLogger< T >::perIterationCallback | ( | const problem_t & | pb, |
solverState_t & | state | ||
) | [protected, virtual] |
Wrapper around the callback function that catch exceptions.
pb | optimization problem. |
state | state of the solver after an iteration. |
Reimplemented from roboptim::SolverCallback< S >.
void roboptim::OptimizationLogger< T >::perIterationCallbackUnsafe | ( | const typename solver_t::problem_t & | pb, |
typename solver_t::solverState_t & | state | ||
) | [protected, virtual] |
References roboptim::decindent(), roboptim::iendl(), roboptim::incindent(), and x_.
std::ostream & roboptim::OptimizationLogger< T >::print | ( | std::ostream & | o | ) | const [virtual] |
Display the logger on the specified output stream.
o | output stream used for display. |
Reimplemented from roboptim::SolverCallback< S >.
References roboptim::decindent(), roboptim::iendl(), and roboptim::incindent().
const OptimizationLogger< T >::solver_t & roboptim::OptimizationLogger< T >::solver | ( | ) | const [protected] |
Return the solver associated with the logger.
OptimizationLogger< T >::solver_t & roboptim::OptimizationLogger< T >::solver | ( | ) | [protected] |
Return the solver associated with the logger.