6 #ifndef TURI_OPTIMIZATION_UTILS_H_ 7 #define TURI_OPTIMIZATION_UTILS_H_ 11 #include <ml/optimization/optimization_interface.hpp> 12 #include <core/data/flexible_type/flexible_type.hpp> 17 namespace optimization {
42 DenseVector& point,
const std::string solver, std::map<std::string,
43 flexible_type>& opts);
89 bool check_hessian(second_order_opt_interface& model,
const DenseVector& point,
90 const DenseMatrix& hessian);
114 bool check_gradient(first_order_opt_interface& model,
const DenseVector& point,
115 SparseVector& gradient,
const size_t mbStart = 0,
const size_t mbSize
139 bool check_gradient(first_order_opt_interface& model,
const DenseVector& point,
140 const DenseVector& gradient,
const size_t mbStart = 0,
const size_t mbSize
169 template <
typename L,
typename R>
void vector_add(L &left, const R &right)
OPTIMIZATION_STATUS
Optimization status.
double compute_residual(const SparseVector &gradient)
void set_default_solver_options(const first_order_opt_interface &model, const DenseVector &point, const std::string solver, std::map< std::string, flexible_type > &opts)
bool check_hessian(second_order_opt_interface &model, const DenseVector &point, const DenseMatrix &hessian)
bool check_gradient(first_order_opt_interface &model, const DenseVector &point, const DenseVector &gradient, const size_t mbStart=0, const size_t mbSize=(size_t)(-1))
void log_solver_summary_stats(const solver_return &stats, bool simple_mode=false)
std::string translate_solver_status(const OPTIMIZATION_STATUS &status)