30 std::pair<const_iterator_t, const_iterator_t> get_container_view();
31 void clear_container();
45 for (
auto ec : ec_seq)
54 for (
auto ec : ec_seq)
81 void print_result(
int file_descriptor, std::pair<VW::topk::const_iterator_t, VW::topk::const_iterator_t>
const& view)
83 if (file_descriptor >= 0)
86 for (
auto it = view.first; it != view.second; it++)
88 ss << std::fixed << it->first <<
" ";
93 ssize_t len = ss.str().size();
95 ssize_t t = _write(file_descriptor, ss.str().c_str(), (
unsigned int)len);
97 ssize_t t = write(file_descriptor, ss.str().c_str(), (
unsigned int)len);
100 std::cerr <<
"write error: " << strerror(errno) << std::endl;
109 if (ld.
label != FLT_MAX)
115 template <
bool is_learn>
119 d.
learn(base, ec_seq);
136 new_options.
add(
make_option(
"top", K).keep().help(
"top k recommendation"));
142 auto data = scoped_calloc_or_throw<VW::topk>(K);
void predict(LEARNER::single_learner &base, multi_ex &ec_seq)
void predict(E &ec, size_t i=0)
v_array< int > final_prediction_sink
base_learner * make_base(learner< T, E > &base)
void learn(LEARNER::single_learner &base, multi_ex &ec_seq)
int print_tag(std::stringstream &ss, v_array< char > tag)
virtual void add_and_parse(const option_group_definition &group)=0
void output_example(vw &all, example &ec)
single_learner * as_singleline(learner< T, E > *l)
void print_update(vw &all, bool is_test, example &ec, multi_ex *ec_seq, bool action_scores)
void update_priority_queue(float pred, v_array< char > &tag)
void print_result(int file_descriptor, std::pair< VW::topk::const_iterator_t, VW::topk::const_iterator_t > const &view)
std::pair< const_iterator_t, const_iterator_t > get_container_view()
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)
container_t::const_iterator const_iterator_t
virtual bool was_supplied(const std::string &key)=0
std::multimap< float, v_array< char > > container_t
void predict_or_learn(VW::topk &d, LEARNER::single_learner &base, multi_ex &ec_seq)
void finish_example(vw &, example &)
void update(bool test_example, bool labeled_example, float loss, float weight, size_t num_features)
option_group_definition & add(T &&op)
std::vector< example * > multi_ex
LEARNER::base_learner * topk_setup(options_i &options, vw &all)
typed_option< T > make_option(std::string name, T &location)
LEARNER::base_learner * setup_base(options_i &options, vw &all)
void predict(bfgs &b, base_learner &, example &ec)
void learn(E &ec, size_t i=0)
void learn(bfgs &b, base_learner &base, example &ec)