Vowpal Wabbit
Classes | Functions | Variables
simple_label.h File Reference
#include "label_parser.h"

Go to the source code of this file.

Classes

struct  label_data
 

Functions

void return_simple_example (vw &all, void *, example &ec)
 
bool summarize_holdout_set (vw &all, size_t &no_win_counter)
 
void print_update (vw &all, example &ec)
 
void output_and_account_example (vw &all, example &ec)
 

Variables

label_parser simple_label
 

Function Documentation

◆ output_and_account_example()

void output_and_account_example ( vw all,
example ec 
)

Definition at line 119 of file simple_label.cc.

References f, vw::final_prediction_sink, example::l, label_data::label, example::loss, example::num_features, example::partial_prediction, example::pred, vw::print, print_update(), vw::raw_prediction, polyprediction::scalar, vw::sd, polylabel::simple, v_array< T >::size(), example::tag, example::test_only, shared_data::update(), example::weight, and shared_data::weighted_labels.

Referenced by return_simple_example().

120 {
121  label_data ld = ec.l.simple;
122 
123  all.sd->update(ec.test_only, ld.label != FLT_MAX, ec.loss, ec.weight, ec.num_features);
124  if (ld.label != FLT_MAX && !ec.test_only)
125  all.sd->weighted_labels += ((double)ld.label) * ec.weight;
126 
127  all.print(all.raw_prediction, ec.partial_prediction, -1, ec.tag);
128  for (size_t i = 0; i < all.final_prediction_sink.size(); i++)
129  {
130  int f = (int)all.final_prediction_sink[i];
131  all.print(f, ec.pred.scalar, 0, ec.tag);
132  }
133 
134  print_update(all, ec);
135 }
v_array< char > tag
Definition: example.h:63
int raw_prediction
Definition: global_data.h:519
float scalar
Definition: example.h:45
v_array< int > final_prediction_sink
Definition: global_data.h:518
float partial_prediction
Definition: example.h:68
float label
Definition: simple_label.h:14
label_data simple
Definition: example.h:28
size_t size() const
Definition: v_array.h:68
shared_data * sd
Definition: global_data.h:375
size_t num_features
Definition: example.h:67
double weighted_labels
Definition: global_data.h:144
void print_update(vw &all, example &ec)
void update(bool test_example, bool labeled_example, float loss, float weight, size_t num_features)
Definition: global_data.h:190
float loss
Definition: example.h:70
polylabel l
Definition: example.h:57
polyprediction pred
Definition: example.h:60
float weight
Definition: example.h:62
void(* print)(int, float, float, v_array< char >)
Definition: global_data.h:521
float f
Definition: cache.cc:40
bool test_only
Definition: example.h:76

◆ print_update()

void print_update ( vw all,
example ec 
)

Definition at line 109 of file simple_label.cc.

References vw::bfgs, vw::current_pass, shared_data::dump_interval, vw::holdout_set_off, example::l, label_data::label, example::num_features, example::pred, shared_data::print_update(), vw::progress_add, vw::progress_arg, vw::quiet, polyprediction::scalar, vw::sd, polylabel::simple, shared_data::weighted_labeled_examples, and shared_data::weighted_unlabeled_examples.

Referenced by output_and_account_example().

110 {
112  !all.bfgs)
113  {
115  all.progress_add, all.progress_arg);
116  }
117 }
float scalar
Definition: example.h:45
double weighted_unlabeled_examples
Definition: global_data.h:143
bool quiet
Definition: global_data.h:487
float label
Definition: simple_label.h:14
label_data simple
Definition: example.h:28
bool holdout_set_off
Definition: global_data.h:499
bool progress_add
Definition: global_data.h:545
shared_data * sd
Definition: global_data.h:375
float progress_arg
Definition: global_data.h:546
void print_update(bool holdout_set_off, size_t current_pass, float label, float prediction, size_t num_features, bool progress_add, float progress_arg)
Definition: global_data.h:225
bool bfgs
Definition: global_data.h:412
size_t num_features
Definition: example.h:67
uint64_t current_pass
Definition: global_data.h:396
polylabel l
Definition: example.h:57
double weighted_labeled_examples
Definition: global_data.h:141
polyprediction pred
Definition: example.h:60
float dump_interval
Definition: global_data.h:147

◆ return_simple_example()

void return_simple_example ( vw all,
void *  ,
example ec 
)

Definition at line 137 of file simple_label.cc.

References VW::finish_example(), and output_and_account_example().

Referenced by finish_example(), LEARNER::learner< CB_EXPLORE::cb_explore, example >::init_learner(), and receive_result().

138 {
140  VW::finish_example(all, ec);
141 }
void output_and_account_example(vw &all, example &ec)
void finish_example(vw &, example &)
Definition: parser.cc:881

◆ summarize_holdout_set()

bool summarize_holdout_set ( vw all,
size_t &  no_win_counter 
)

Definition at line 143 of file simple_label.cc.

References accumulate_scalar(), vw::all_reduce, vw::current_pass, f, shared_data::holdout_best_loss, shared_data::holdout_best_pass, shared_data::holdout_sum_loss_since_last_pass, vw::sd, and shared_data::weighted_holdout_examples_since_last_pass.

Referenced by GD::end_pass(), and end_pass().

144 {
145  float thisLoss = (all.sd->weighted_holdout_examples_since_last_pass > 0)
147  : FLT_MAX * 0.5f;
148  if (all.all_reduce != nullptr)
149  thisLoss = accumulate_scalar(all, thisLoss);
150 
153 
154  if (thisLoss < all.sd->holdout_best_loss)
155  {
156  all.sd->holdout_best_loss = thisLoss;
157  all.sd->holdout_best_pass = all.current_pass;
158  no_win_counter = 0;
159  return true;
160  }
161 
162  if ((thisLoss != FLT_MAX) ||
163  (std::isfinite(
164  all.sd->holdout_best_loss))) // it's only a loss if we're not infinite when the previous one wasn't infinite
165  no_win_counter++;
166  return false;
167 }
double holdout_sum_loss_since_last_pass
Definition: global_data.h:163
double holdout_best_loss
Definition: global_data.h:161
AllReduce * all_reduce
Definition: global_data.h:381
shared_data * sd
Definition: global_data.h:375
double weighted_holdout_examples_since_last_pass
Definition: global_data.h:162
uint64_t current_pass
Definition: global_data.h:396
float accumulate_scalar(vw &all, float local_sum)
Definition: accumulate.cc:44
size_t holdout_best_pass
Definition: global_data.h:164
float f
Definition: cache.cc:40

Variable Documentation

◆ simple_label

label_parser simple_label