6 #ifndef TURI_SGD_INTERFACE_BASE_H_ 7 #define TURI_SGD_INTERFACE_BASE_H_ 60 virtual void setup(
const v2::ml_data& train_data,
61 const std::map<std::string, flexible_type>& options) {}
83 virtual double max_step_size()
const {
return std::numeric_limits<double>::max(); }
101 virtual void setup_optimization(
size_t random_seed =
size_t(-1),
bool _in_trial_mode =
false) = 0;
114 virtual double calculate_loss(
const v2::ml_data& data)
const = 0;
124 virtual double reported_loss_value(
double accumulative_loss)
const = 0;
133 virtual std::string reported_loss_name()
const = 0;
140 virtual double current_regularization_penalty()
const = 0;
144 virtual double apply_sgd_step(
size_t thread_idx,
145 const std::vector<v2::ml_data_entry>& x,
147 double step_size) = 0;
virtual double l2_regularization_factor() const
virtual bool state_is_numerically_stable() const
virtual double max_step_size() const
virtual void finalize_iteration()
virtual void setup(const v2::ml_data &train_data, const std::map< std::string, flexible_type > &options)
virtual void setup_iteration(size_t iteration, double step_size)