Vowpal Wabbit
Classes | Typedefs | Functions
VW::LEARNER Namespace Reference

Contains the VW::LEARNER::learner object and utilities for interacting with it. More...

Classes

struct  base_learner_builder
 
struct  common_learner_builder
 
struct  finish_example_data
 
struct  func_data
 
struct  learn_data
 
struct  learner
 Defines the interface for a learning algorithm. More...
 
struct  reduction_learner_builder
 
struct  reduction_no_data_learner_builder
 
struct  save_load_data
 
struct  save_metric_data
 
struct  sensitivity_data
 

Typedefs

using base_learner = learner< char, char >
 Used to type erase the object and pass around common type. More...
 
using single_learner = learner< char, example >
 Used for reductions that process single example objects at at time. It type erases the specific reduction object type. More...
 
using multi_learner = learner< char, multi_ex >
 Used for multiline examples where there are several example objects required to describe the overall example. It type erases the specific reduction object type. More...
 

Functions

func_data tuple_dbf (void *data, base_learner *base, void(*func)(void *))
 
void generic_driver (VW::workspace &all)
 
void generic_driver (const std::vector< VW::workspace *> &alls)
 
void generic_driver_onethread (VW::workspace &all)
 
void noop_save_load (void *, io_buf &, bool, bool)
 
void noop_persist_metrics (void *, metric_sink &)
 
void noop (void *)
 
float noop_sensitivity (void *, base_learner &, example &)
 
float recur_sensitivity (void *, base_learner &, example &)
 
void debug_increment_depth (example &ex)
 
void debug_increment_depth (multi_ex &ec_seq)
 
void debug_decrement_depth (example &ex)
 
void debug_decrement_depth (multi_ex &ec_seq)
 
void increment_offset (example &ex, const size_t increment, const size_t i)
 
void increment_offset (multi_ex &ec_seq, const size_t increment, const size_t i)
 
void decrement_offset (example &ex, const size_t increment, const size_t i)
 
void decrement_offset (multi_ex &ec_seq, const size_t increment, const size_t i)
 
bool ec_is_example_header (example const &ec, label_type_t label_type)
 
template<class T , class E >
base_learnermake_base (learner< T, E > &base)
 
template<class T , class E >
multi_learneras_multiline (learner< T, E > *l)
 
template<class T , class E >
single_learneras_singleline (learner< T, E > *l)
 
template<bool is_learn>
void multiline_learn_or_predict (multi_learner &base, multi_ex &examples, const uint64_t offset, const uint32_t id=0)
 
float noop_sensitivity_base (void *, example &)
 
template<class DataT , class ExampleT , class BaseLearnerT >
VW_WARNING_STATE_POP reduction_learner_builder< DataT, ExampleT, BaseLearnerT > make_reduction_learner (std::unique_ptr< DataT > &&data, BaseLearnerT *base, void(*learn_fn)(DataT &, BaseLearnerT &, ExampleT &), void(*predict_fn)(DataT &, BaseLearnerT &, ExampleT &), const std::string &name)
 
template<class ExampleT , class BaseLearnerT >
reduction_no_data_learner_builder< ExampleT, BaseLearnerT > make_no_data_reduction_learner (BaseLearnerT *base, void(*learn_fn)(char &, BaseLearnerT &, ExampleT &), void(*predict_fn)(char &, BaseLearnerT &, ExampleT &), const std::string &name)
 
template<class DataT , class ExampleT >
base_learner_builder< DataT, ExampleT > make_base_learner (std::unique_ptr< DataT > &&data, void(*learn_fn)(DataT &, base_learner &, ExampleT &), void(*predict_fn)(DataT &, base_learner &, ExampleT &), const std::string &name, prediction_type_t out_pred_type, label_type_t in_label_type)
 
template<class ExampleT >
base_learner_builder< char, ExampleT > make_no_data_base_learner (void(*learn_fn)(char &, base_learner &, ExampleT &), void(*predict_fn)(char &, base_learner &, ExampleT &), const std::string &name, prediction_type_t out_pred_type, label_type_t in_label_type)
 

Detailed Description

Contains the VW::LEARNER::learner object and utilities for interacting with it.

Typedef Documentation

◆ base_learner

typedef learner< char, char > VW::LEARNER::base_learner

Used to type erase the object and pass around common type.

◆ multi_learner

typedef learner< char, multi_ex > VW::LEARNER::multi_learner

Used for multiline examples where there are several example objects required to describe the overall example. It type erases the specific reduction object type.

◆ single_learner

typedef learner< char, example > VW::LEARNER::single_learner

Used for reductions that process single example objects at at time. It type erases the specific reduction object type.

Function Documentation

◆ as_multiline()

template<class T , class E >
multi_learner* VW::LEARNER::as_multiline ( learner< T, E > *  l)

◆ as_singleline()

template<class T , class E >
single_learner* VW::LEARNER::as_singleline ( learner< T, E > *  l)

◆ debug_decrement_depth() [1/2]

void VW::LEARNER::debug_decrement_depth ( example ex)
inline

◆ debug_decrement_depth() [2/2]

void VW::LEARNER::debug_decrement_depth ( multi_ex ec_seq)
inline

◆ debug_increment_depth() [1/2]

void VW::LEARNER::debug_increment_depth ( example ex)
inline

◆ debug_increment_depth() [2/2]

void VW::LEARNER::debug_increment_depth ( multi_ex ec_seq)
inline

◆ decrement_offset() [1/2]

void VW::LEARNER::decrement_offset ( example ex,
const size_t  increment,
const size_t  i 
)
inline

◆ decrement_offset() [2/2]

void VW::LEARNER::decrement_offset ( multi_ex ec_seq,
const size_t  increment,
const size_t  i 
)
inline

◆ ec_is_example_header()

bool VW::LEARNER::ec_is_example_header ( example const &  ec,
label_type_t  label_type 
)
inline

◆ generic_driver() [1/2]

void VW::LEARNER::generic_driver ( VW::workspace all)

◆ generic_driver() [2/2]

void VW::LEARNER::generic_driver ( const std::vector< VW::workspace *> &  alls)

◆ generic_driver_onethread()

void VW::LEARNER::generic_driver_onethread ( VW::workspace all)

◆ increment_offset() [1/2]

void VW::LEARNER::increment_offset ( example ex,
const size_t  increment,
const size_t  i 
)
inline

◆ increment_offset() [2/2]

void VW::LEARNER::increment_offset ( multi_ex ec_seq,
const size_t  increment,
const size_t  i 
)
inline

◆ make_base()

template<class T , class E >
base_learner* VW::LEARNER::make_base ( learner< T, E > &  base)

◆ make_base_learner()

template<class DataT , class ExampleT >
base_learner_builder<DataT, ExampleT> VW::LEARNER::make_base_learner ( std::unique_ptr< DataT > &&  data,
void(*)(DataT &, base_learner &, ExampleT &)  learn_fn,
void(*)(DataT &, base_learner &, ExampleT &)  predict_fn,
const std::string &  name,
prediction_type_t  out_pred_type,
label_type_t  in_label_type 
)

◆ make_no_data_base_learner()

template<class ExampleT >
base_learner_builder<char, ExampleT> VW::LEARNER::make_no_data_base_learner ( void(*)(char &, base_learner &, ExampleT &)  learn_fn,
void(*)(char &, base_learner &, ExampleT &)  predict_fn,
const std::string &  name,
prediction_type_t  out_pred_type,
label_type_t  in_label_type 
)

◆ make_no_data_reduction_learner()

template<class ExampleT , class BaseLearnerT >
reduction_no_data_learner_builder<ExampleT, BaseLearnerT> VW::LEARNER::make_no_data_reduction_learner ( BaseLearnerT *  base,
void(*)(char &, BaseLearnerT &, ExampleT &)  learn_fn,
void(*)(char &, BaseLearnerT &, ExampleT &)  predict_fn,
const std::string &  name 
)

◆ make_reduction_learner()

template<class DataT , class ExampleT , class BaseLearnerT >
VW_WARNING_STATE_POP reduction_learner_builder<DataT, ExampleT, BaseLearnerT> VW::LEARNER::make_reduction_learner ( std::unique_ptr< DataT > &&  data,
BaseLearnerT *  base,
void(*)(DataT &, BaseLearnerT &, ExampleT &)  learn_fn,
void(*)(DataT &, BaseLearnerT &, ExampleT &)  predict_fn,
const std::string &  name 
)

◆ multiline_learn_or_predict()

template<bool is_learn>
void VW::LEARNER::multiline_learn_or_predict ( multi_learner base,
multi_ex examples,
const uint64_t  offset,
const uint32_t  id = 0 
)

◆ noop()

void VW::LEARNER::noop ( void *  )
inline

◆ noop_persist_metrics()

void VW::LEARNER::noop_persist_metrics ( void *  ,
metric_sink  
)
inline

◆ noop_save_load()

void VW::LEARNER::noop_save_load ( void *  ,
io_buf ,
bool  ,
bool   
)
inline

◆ noop_sensitivity()

float VW::LEARNER::noop_sensitivity ( void *  ,
base_learner ,
example  
)
inline

◆ noop_sensitivity_base()

float VW::LEARNER::noop_sensitivity_base ( void *  ,
example  
)
inline

◆ recur_sensitivity()

float VW::LEARNER::recur_sensitivity ( void *  ,
base_learner ,
example  
)

◆ tuple_dbf()

func_data VW::LEARNER::tuple_dbf ( void *  data,
base_learner base,
void(*)(void *)  func 
)
inline