Vowpal Wabbit
Functions
explore_eval.h File Reference

Go to the source code of this file.

Functions

LEARNER::base_learnerexplore_eval_setup (VW::config::options_i &options, vw &all)
 

Function Documentation

◆ explore_eval_setup()

LEARNER::base_learner* explore_eval_setup ( VW::config::options_i options,
vw all 
)

Definition at line 186 of file explore_eval.cc.

References prediction_type::action_probs, VW::config::option_group_definition::add(), VW::config::options_i::add_and_parse(), LEARNER::as_multiline(), label_type::cb, CB::cb_label, vw::delete_prediction, EXPLORE_EVAL::finish(), finish_multiline_example(), vw::get_random_state(), LEARNER::init_learner(), VW::config::options_i::insert(), vw::label_type, parser::lp, LEARNER::make_base(), VW::config::make_option(), vw::p, LEARNER::learner< T, E >::set_finish(), LEARNER::learner< T, E >::set_finish_example(), setup_base(), and VW::config::options_i::was_supplied().

Referenced by parse_reductions().

187 {
188  auto data = scoped_calloc_or_throw<explore_eval>();
189  bool explore_eval_option = false;
190  option_group_definition new_options("Explore evaluation");
191  new_options.add(make_option("explore_eval", explore_eval_option).keep().help("Evaluate explore_eval adf policies"))
192  .add(make_option("multiplier", data->multiplier)
193  .help("Multiplier used to make all rejection sample probabilities <= 1"));
194  options.add_and_parse(new_options);
195 
196  if (!explore_eval_option)
197  return nullptr;
198 
199  data->all = &all;
200  data->_random_state = all.get_random_state();
201 
202  if (options.was_supplied("multiplier"))
203  data->fixed_multiplier = true;
204  else
205  data->multiplier = 1;
206 
207  if (!options.was_supplied("cb_explore_adf"))
208  options.insert("cb_explore_adf", "");
209 
210  all.delete_prediction = nullptr;
211 
212  multi_learner* base = as_multiline(setup_base(options, all));
213  all.p->lp = CB::cb_label;
215 
217  init_learner(data, base, do_actual_learning<true>, do_actual_learning<false>, 1, prediction_type::action_probs);
218 
220  l.set_finish(finish);
221  return make_base(l);
222 }
void(* delete_prediction)(void *)
Definition: global_data.h:485
void finish_multiline_example(vw &all, cbify &, multi_ex &ec_seq)
Definition: cbify.cc:373
label_type::label_type_t label_type
Definition: global_data.h:550
base_learner * make_base(learner< T, E > &base)
Definition: learner.h:462
virtual void add_and_parse(const option_group_definition &group)=0
parser * p
Definition: global_data.h:377
std::shared_ptr< rand_state > get_random_state()
Definition: global_data.h:553
void set_finish_example(void(*f)(vw &all, T &, E &))
Definition: learner.h:307
learner< T, E > & init_learner(free_ptr< T > &dat, L *base, void(*learn)(T &, L &, E &), void(*predict)(T &, L &, E &), size_t ws, prediction_type::prediction_type_t pred_type)
Definition: learner.h:369
virtual bool was_supplied(const std::string &key)=0
virtual void insert(const std::string &key, const std::string &value)=0
label_parser cb_label
Definition: cb.cc:167
typed_option< T > make_option(std::string name, T &location)
Definition: options.h:80
void set_finish(void(*f)(T &))
Definition: learner.h:265
LEARNER::base_learner * setup_base(options_i &options, vw &all)
Definition: parse_args.cc:1222
void finish(explore_eval &data)
Definition: explore_eval.cc:36
multi_learner * as_multiline(learner< T, E > *l)
Definition: learner.h:468
label_parser lp
Definition: parser.h:102