Vowpal Wabbit
|
Classes | |
struct | action_cache |
struct | action_repr |
struct | auto_condition_settings |
class | BaseTask |
struct | final_item |
struct | prediction |
class | predictor |
struct | scored_action |
struct | search |
struct | search_metatask |
struct | search_private |
struct | search_task |
Enumerations | |
enum | SearchState { INITIALIZE, INIT_TEST, INIT_TRAIN, LEARN, GET_TRUTH_STRING } |
enum | RollMethod { POLICY, ORACLE, MIX_PER_STATE, MIX_PER_ROLL, NO_ROLLOUT } |
Functions | |
std::string | neighbor_feature_space ("neighbor") |
std::string | condition_feature_space ("search_condition") |
std::ostream & | operator<< (std::ostream &os, const scored_action &x) |
std::ostream & | operator<< (std::ostream &os, const action_cache &x) |
void | free_key (unsigned char *mem, scored_action) |
void | clear_cache_hash_map (search_private &priv) |
void | clear_memo_foreach_action (search_private &priv) |
std::string | audit_feature_space ("conditional") |
bool | need_memo_foreach_action (search_private &priv) |
int | random_policy (search_private &priv, bool allow_current, bool allow_optimal, bool advance_prng=true) |
int | select_learner (search_private &priv, int policy, size_t learner_id, bool is_training, bool is_local) |
bool | should_print_update (vw &all, bool hit_new_pass=false) |
bool | might_print_update (vw &all) |
bool | must_run_test (vw &all, multi_ex &ec, bool is_test_ex) |
float | safediv (float a, float b) |
void | to_short_string (std::string in, size_t max_len, char *out) |
std::string | number_to_natural (size_t big) |
void | print_update (search_private &priv) |
void | add_new_feature (search_private &priv, float val, uint64_t idx) |
void | del_features_in_top_namespace (search_private &, example &ec, size_t ns) |
void | add_neighbor_features (search_private &priv, multi_ex &ec_seq) |
void | del_neighbor_features (search_private &priv, multi_ex &ec_seq) |
void | reset_search_structure (search_private &priv) |
void | search_declare_loss (search_private &priv, float loss) |
template<class T > | |
void | cdbg_print_array (std::string str, v_array< T > &A) |
template<class T > | |
void | cerr_print_array (std::string str, v_array< T > &A) |
size_t | random (std::shared_ptr< rand_state > &rs, size_t max) |
template<class T > | |
bool | array_contains (T target, const T *A, size_t n) |
void | add_example_conditioning (search_private &priv, example &ec, size_t condition_on_cnt, const char *condition_on_names, action_repr *condition_on_actions) |
void | del_example_conditioning (search_private &priv, example &ec) |
size_t | cs_get_costs_size (bool isCB, polylabel &ld) |
uint32_t | cs_get_cost_index (bool isCB, polylabel &ld, size_t k) |
float | cs_get_cost_partial_prediction (bool isCB, polylabel &ld, size_t k) |
void | cs_set_cost_loss (bool isCB, polylabel &ld, size_t k, float val) |
void | cs_costs_erase (bool isCB, polylabel &ld) |
void | cs_costs_resize (bool isCB, polylabel &ld, size_t new_size) |
void | cs_cost_push_back (bool isCB, polylabel &ld, uint32_t index, float value) |
polylabel & | allowed_actions_to_ld (search_private &priv, size_t ec_cnt, const action *allowed_actions, size_t allowed_actions_cnt, const float *allowed_actions_cost) |
void | allowed_actions_to_label (search_private &priv, size_t ec_cnt, const action *allowed_actions, size_t allowed_actions_cnt, const float *allowed_actions_cost, const action *oracle_actions, size_t oracle_actions_cnt, polylabel &lab) |
template<class T > | |
void | ensure_size (v_array< T > &A, size_t sz) |
template<class T > | |
void | push_at (v_array< T > &v, T item, size_t pos) |
action | choose_oracle_action (search_private &priv, size_t ec_cnt, const action *oracle_actions, size_t oracle_actions_cnt, const action *allowed_actions, size_t allowed_actions_cnt, const float *allowed_actions_cost) |
action | single_prediction_notLDF (search_private &priv, example &ec, int policy, const action *allowed_actions, size_t allowed_actions_cnt, const float *allowed_actions_cost, float &a_cost, action override_action) |
action | single_prediction_LDF (search_private &priv, example *ecs, size_t ec_cnt, int policy, float &a_cost, action override_action) |
int | choose_policy (search_private &priv, bool advance_prng=true) |
bool | cached_item_equivalent (unsigned char *const &A, unsigned char *const &B) |
bool | cached_action_store_or_find (search_private &priv, ptag mytag, const ptag *condition_on, const char *condition_on_names, action_repr *condition_on_actions, size_t condition_on_cnt, int policy, size_t learner_id, action &a, bool do_store, float &a_cost) |
void | generate_training_example (search_private &priv, polylabel &losses, float weight, bool add_conditioning=true, float min_loss=FLT_MAX) |
bool | search_predictNeedsExample (search_private &priv) |
void | foreach_action_from_cache (search_private &priv, size_t t, action override_a=(action) -1) |
action | search_predict (search_private &priv, example *ecs, size_t ec_cnt, ptag mytag, const action *oracle_actions, size_t oracle_actions_cnt, const ptag *condition_on, const char *condition_on_names, const action *allowed_actions, size_t allowed_actions_cnt, const float *allowed_actions_cost, size_t learner_id, float &a_cost, float) |
bool | cmp_size_t (const size_t a, const size_t b) |
bool | cmp_size_t_pair (const std::pair< size_t, size_t > &a, const std::pair< size_t, size_t > &b) |
size_t | absdiff (size_t a, size_t b) |
void | hoopla_permute (size_t *B, size_t *end) |
void | get_training_timesteps (search_private &priv, v_array< size_t > ×teps) |
void | free_final_item (final_item *p) |
void | run_task (search &sch, multi_ex &ec) |
void | verify_active_csoaa (COST_SENSITIVE::label &losses, v_array< std::pair< CS::wclass &, bool >> &known, size_t t, float multiplier) |
void | advance_from_known_actions (search_private &priv) |
template<bool is_learn> | |
void | train_single_example (search &sch, bool is_test_ex, bool is_holdout_ex, multi_ex &ec_seq) |
void | adjust_auto_condition (search_private &priv) |
template<bool is_learn> | |
void | do_actual_learning (search &sch, base_learner &base, multi_ex &ec_seq) |
void | end_pass (search &sch) |
void | finish_multiline_example (vw &all, search &sch, multi_ex &ec_seq) |
void | end_examples (search &sch) |
bool | mc_label_is_test (polylabel &lab) |
void | search_initialize (vw *all, search &sch) |
void | ensure_param (float &v, float lo, float hi, float def, const char *str) |
void | handle_condition_options (vw &all, auto_condition_settings &acset) |
void | search_finish (search &sch) |
v_array< CS::label > | read_allowed_transitions (action A, const char *filename) |
void | parse_neighbor_features (std::string &nf_string, search &sch) |
base_learner * | setup (options_i &options, vw &all) |
float | action_hamming_loss (action a, const action *A, size_t sz) |
float | action_cost_loss (action a, const action *act, const float *costs, size_t sz) |
bool | string_equal (std::string a, std::string b) |
bool | float_equal (float a, float b) |
bool | uint32_equal (uint32_t a, uint32_t b) |
bool | size_equal (size_t a, size_t b) |
Variables | |
search_task * | all_tasks [] |
search_metatask * | all_metatasks [] |
constexpr bool | PRINT_UPDATE_EVERY_EXAMPLE = false |
constexpr bool | PRINT_UPDATE_EVERY_PASS = false |
constexpr bool | PRINT_CLOCK_TIME = false |
uint32_t | AUTO_CONDITION_FEATURES = 1 |
uint32_t | AUTO_HAMMING_LOSS = 2 |
uint32_t | EXAMPLES_DONT_CHANGE = 4 |
uint32_t | IS_LDF = 8 |
uint32_t | NO_CACHING = 16 |
uint32_t | ACTION_COSTS = 32 |
uint64_t | conditional_constant = 8290743 |
enum Search::RollMethod |
Enumerator | |
---|---|
POLICY | |
ORACLE | |
MIX_PER_STATE | |
MIX_PER_ROLL | |
NO_ROLLOUT |
Definition at line 59 of file search.cc.
enum Search::SearchState |
Enumerator | |
---|---|
INITIALIZE | |
INIT_TEST | |
INIT_TRAIN | |
LEARN | |
GET_TRUTH_STRING |
Definition at line 51 of file search.cc.
|
inline |
Definition at line 1946 of file search.cc.
References a.
Referenced by average_diff(), and hoopla_permute().
Definition at line 2954 of file search.cc.
References THROW.
Referenced by Search::search::predict().
Definition at line 2944 of file search.cc.
Referenced by Search::search::predict(), and Search::search::predictLDF().
void Search::add_example_conditioning | ( | search_private & | priv, |
example & | ec, | ||
size_t | condition_on_cnt, | ||
const char * | condition_on_names, | ||
action_repr * | condition_on_actions | ||
) |
Definition at line 784 of file search.cc.
References Search::action_repr::a, Search::search_private::acset, add_new_feature(), Search::search_private::all, vw::audit, cdbg, features::clear(), condition_feature_space(), conditioning_namespace, COST_SENSITIVE::label::costs, polylabel::cs, Search::search_private::dat_new_feature_audit_ss, Search::search_private::dat_new_feature_ec, Search::search_private::dat_new_feature_feature_space, Search::search_private::dat_new_feature_idx, Search::search_private::dat_new_feature_namespace, Search::search_private::dat_new_feature_value, example_predict::feature_space, Search::auto_condition_settings::feature_value, example_predict::indices, features::indicies, Search::search_private::is_ldf, example::l, Search::auto_condition_settings::max_bias_ngram_length, Search::auto_condition_settings::max_quad_ngram_length, example::num_features, v_array< T >::push_back(), quadratic_constant, Search::action_repr::repr, features::size(), parameters::stride_shift(), features::sum_feat_sq, example::total_sum_feat_sq, Search::auto_condition_settings::use_passthrough_repr, features::values, and vw::weights.
Referenced by generate_training_example(), and search_predict().
void Search::add_neighbor_features | ( | search_private & | priv, |
multi_ex & | ec_seq | ||
) |
Definition at line 631 of file search.cc.
References add_new_feature(), Search::search_private::all, vw::audit, Search::search_private::dat_new_feature_audit_ss, Search::search_private::dat_new_feature_ec, Search::search_private::dat_new_feature_feature_space, Search::search_private::dat_new_feature_idx, Search::search_private::dat_new_feature_namespace, Search::search_private::dat_new_feature_value, example_predict::feature_space, example_predict::ft_offset, example_predict::indices, neighbor_feature_space(), Search::search_private::neighbor_features, neighbor_namespace, example::num_features, v_array< T >::push_back(), v_array< T >::size(), stride_shift(), parameters::stride_shift(), example::total_sum_feat_sq, and vw::weights.
Referenced by do_actual_learning().
void Search::add_new_feature | ( | search_private & | priv, |
float | val, | ||
uint64_t | idx | ||
) |
Definition at line 596 of file search.cc.
References Search::search_private::all, vw::audit, cdbg, Search::search_private::dat_new_feature_audit_ss, Search::search_private::dat_new_feature_ec, Search::search_private::dat_new_feature_feature_space, Search::search_private::dat_new_feature_idx, Search::search_private::dat_new_feature_namespace, Search::search_private::dat_new_feature_value, example_predict::feature_space, features::indicies, v_array< T >::last(), parameters::mask(), v_array< T >::push_back(), features::push_back(), features::space_names, parameters::stride_shift(), features::values, and vw::weights.
Referenced by add_example_conditioning(), and add_neighbor_features().
|
inline |
Definition at line 2364 of file search.cc.
References Search::search_private::acset, Search::search_private::auto_condition_features, Search::auto_condition_settings::feature_value, and Search::search_private::history_length.
Referenced by do_actual_learning().
void Search::advance_from_known_actions | ( | search_private & | priv | ) |
Definition at line 2133 of file search.cc.
References Search::search_private::active_csoaa, Search::search_private::active_csoaa_verify, Search::search_private::active_known, cdbg, COST_SENSITIVE::label::costs, polylabel::cs, Search::search_private::done_with_all_actions, Search::search_private::learn_a_idx, Search::search_private::learn_losses, and Search::search_private::learn_t.
Referenced by train_single_example().
void Search::allowed_actions_to_label | ( | search_private & | priv, |
size_t | ec_cnt, | ||
const action * | allowed_actions, | ||
size_t | allowed_actions_cnt, | ||
const float * | allowed_actions_cost, | ||
const action * | oracle_actions, | ||
size_t | oracle_actions_cnt, | ||
polylabel & | lab | ||
) |
Definition at line 991 of file search.cc.
References Search::search_private::A, Search::search_private::cb_learner, cs_cost_push_back(), cs_costs_erase(), cs_get_costs_size(), cs_set_cost_loss(), f, Search::search_private::is_ldf, and Search::search_private::use_action_costs.
Referenced by search_predict().
polylabel& Search::allowed_actions_to_ld | ( | search_private & | priv, |
size_t | ec_cnt, | ||
const action * | allowed_actions, | ||
size_t | allowed_actions_cnt, | ||
const float * | allowed_actions_cost | ||
) |
Definition at line 937 of file search.cc.
References Search::search_private::A, Search::search_private::allowed_actions_cache, Search::search_private::cb_learner, cs_cost_push_back(), cs_costs_erase(), cs_costs_resize(), cs_get_costs_size(), cs_set_cost_loss(), Search::search_private::is_ldf, and Search::search_private::use_action_costs.
Referenced by choose_oracle_action(), and single_prediction_notLDF().
bool Search::array_contains | ( | T | target, |
const T * | A, | ||
size_t | n | ||
) |
Definition at line 773 of file search.cc.
Referenced by choose_oracle_action().
std::string Search::audit_feature_space | ( | "conditional" | ) |
Referenced by Search::search::~search().
bool Search::cached_action_store_or_find | ( | search_private & | priv, |
ptag | mytag, | ||
const ptag * | condition_on, | ||
const char * | condition_on_names, | ||
action_repr * | condition_on_actions, | ||
size_t | condition_on_cnt, | ||
int | policy, | ||
size_t | learner_id, | ||
action & | a, | ||
bool | do_store, | ||
float & | a_cost | ||
) |
Definition at line 1438 of file search.cc.
References Search::scored_action::a, Search::action_repr::a, Search::search_private::cache_hash_map, Search::search_private::no_caching, Search::scored_action::s, and uniform_hash().
Referenced by search_predict().
bool Search::cached_item_equivalent | ( | unsigned char *const & | A, |
unsigned char *const & | B | ||
) |
Definition at line 1429 of file search.cc.
Referenced by search_initialize().
void Search::cdbg_print_array | ( | std::string | str, |
v_array< T > & | A | ||
) |
Definition at line 754 of file search.cc.
References cdbg, and v_array< T >::size().
Referenced by search_predict().
void Search::cerr_print_array | ( | std::string | str, |
v_array< T > & | A | ||
) |
action Search::choose_oracle_action | ( | search_private & | priv, |
size_t | ec_cnt, | ||
const action * | oracle_actions, | ||
size_t | oracle_actions_cnt, | ||
const action * | allowed_actions, | ||
size_t | allowed_actions_cnt, | ||
const float * | allowed_actions_cost | ||
) |
Definition at line 1097 of file search.cc.
References Search::search_private::_random_state, a, Search::search_private::A, allowed_actions_to_ld(), array_contains(), Search::search_private::cb_learner, cdbg, cs_get_cost_index(), cs_get_costs_size(), INIT_TRAIN, Search::search_private::is_ldf, Search::search_private::memo_foreach_action, Search::search_private::meta_t, need_memo_foreach_action(), Search::search_private::perturb_oracle, v_array< T >::push_back(), random(), Search::search_private::state, Search::search_private::t, and Search::search_private::use_action_costs.
Referenced by search_predict().
int Search::choose_policy | ( | search_private & | priv, |
bool | advance_prng = true |
||
) |
Definition at line 1401 of file search.cc.
References Search::search_private::allow_current_policy, INIT_TEST, INIT_TRAIN, LEARN, MIX_PER_ROLL, Search::search_private::mix_per_roll_policy, MIX_PER_STATE, NO_ROLLOUT, ORACLE, POLICY, random_policy(), Search::search_private::rollin_method, Search::search_private::rollout_method, Search::search_private::state, and THROW.
Referenced by search_predict(), and search_predictNeedsExample().
void Search::clear_cache_hash_map | ( | search_private & | priv | ) |
Definition at line 278 of file search.cc.
References Search::search_private::cache_hash_map, and free_key().
Referenced by train_single_example(), and Search::search::~search().
void Search::clear_memo_foreach_action | ( | search_private & | priv | ) |
Definition at line 284 of file search.cc.
References Search::search_private::memo_foreach_action.
Referenced by train_single_example(), and Search::search::~search().
|
inline |
Definition at line 1940 of file search.cc.
Referenced by get_training_timesteps(), and hoopla_permute().
|
inline |
std::string Search::condition_feature_space | ( | "search_condition" | ) |
Referenced by add_example_conditioning().
|
inline |
Definition at line 923 of file search.cc.
References polylabel::cb, CB::label::costs, COST_SENSITIVE::label::costs, and polylabel::cs.
Referenced by allowed_actions_to_label(), allowed_actions_to_ld(), and train_single_example().
|
inline |
Definition at line 907 of file search.cc.
References polylabel::cb, CB::label::costs, COST_SENSITIVE::label::costs, and polylabel::cs.
Referenced by allowed_actions_to_label(), and allowed_actions_to_ld().
|
inline |
Definition at line 915 of file search.cc.
References polylabel::cb, CB::label::costs, COST_SENSITIVE::label::costs, and polylabel::cs.
Referenced by allowed_actions_to_ld().
|
inline |
Definition at line 889 of file search.cc.
References polylabel::cb, CB::label::costs, COST_SENSITIVE::label::costs, and polylabel::cs.
Referenced by choose_oracle_action(), and single_prediction_notLDF().
|
inline |
Definition at line 894 of file search.cc.
References polylabel::cb, CB::label::costs, COST_SENSITIVE::label::costs, and polylabel::cs.
Referenced by single_prediction_notLDF().
|
inline |
Definition at line 887 of file search.cc.
References polylabel::cb, CB::label::costs, COST_SENSITIVE::label::costs, and polylabel::cs.
Referenced by allowed_actions_to_label(), allowed_actions_to_ld(), choose_oracle_action(), generate_training_example(), and single_prediction_notLDF().
|
inline |
Definition at line 899 of file search.cc.
References polylabel::cb, CB::label::costs, COST_SENSITIVE::label::costs, and polylabel::cs.
Referenced by allowed_actions_to_label(), and allowed_actions_to_ld().
void Search::del_example_conditioning | ( | search_private & | priv, |
example & | ec | ||
) |
Definition at line 881 of file search.cc.
References conditioning_namespace, del_features_in_top_namespace(), example_predict::indices, v_array< T >::last(), and v_array< T >::size().
Referenced by generate_training_example(), and search_predict().
void Search::del_features_in_top_namespace | ( | search_private & | , |
example & | ec, | ||
size_t | ns | ||
) |
Definition at line 613 of file search.cc.
References features::clear(), v_array< T >::decr(), example_predict::feature_space, example_predict::indices, v_array< T >::last(), example::num_features, v_array< T >::size(), features::size(), features::sum_feat_sq, and example::total_sum_feat_sq.
Referenced by del_example_conditioning(), and del_neighbor_features().
void Search::del_neighbor_features | ( | search_private & | priv, |
multi_ex & | ec_seq | ||
) |
Definition at line 683 of file search.cc.
References del_features_in_top_namespace(), Search::search_private::neighbor_features, neighbor_namespace, and v_array< T >::size().
Referenced by do_actual_learning().
void Search::do_actual_learning | ( | search & | sch, |
base_learner & | base, | ||
multi_ex & | ec_seq | ||
) |
Definition at line 2378 of file search.cc.
References add_neighbor_features(), adjust_auto_condition(), Search::search_private::all, Search::search_private::base_learner, cdbg, Search::search_private::current_policy, del_neighbor_features(), GET_TRUTH_STRING, Search::search_private::hit_new_pass, Search::search_private::label_is_test, might_print_update(), Search::search_private::offset, Search::search::priv, Search::search_private::read_example_last_id, Search::search_private::read_example_last_pass, reset_search_structure(), Search::search_task::run_setup, Search::search_task::run_takedown, run_task(), Search::search_private::should_produce_string, Search::search_private::state, Search::search_private::task, and Search::search_private::truth_string.
void Search::end_examples | ( | search & | sch | ) |
Definition at line 2464 of file search.cc.
References Search::search_private::all, Search::search_private::current_policy, VW::config::options_i::get_typed_option(), vw::options, Search::search_private::passes_since_new_policy, Search::search::priv, VW::config::options_i::replace(), prediction_type::to_string(), Search::search_private::total_number_of_policies, and vw::training.
Referenced by setup().
void Search::end_pass | ( | search & | sch | ) |
Definition at line 2433 of file search.cc.
References Search::search_private::all, Search::search_private::current_policy, VW::config::options_i::get_typed_option(), Search::search_private::hit_new_pass, vw::options, Search::search_private::passes_per_policy, Search::search_private::passes_since_new_policy, Search::search::priv, Search::search_private::read_example_last_pass, VW::config::options_i::replace(), prediction_type::to_string(), Search::search_private::total_number_of_policies, and vw::training.
void Search::ensure_param | ( | float & | v, |
float | lo, | ||
float | hi, | ||
float | def, | ||
const char * | str | ||
) |
void Search::ensure_size | ( | v_array< T > & | A, |
size_t | sz | ||
) |
Definition at line 1066 of file search.cc.
References v_array< T >::begin(), v_array< T >::end(), v_array< T >::end_array, and v_array< T >::resize().
Referenced by search_predict().
Definition at line 2458 of file search.cc.
References VW::finish_example(), print_update(), and Search::search::priv.
bool Search::float_equal | ( | float | a, |
float | b | ||
) |
void Search::foreach_action_from_cache | ( | search_private & | priv, |
size_t | t, | ||
action | override_a = (action)-1 |
||
) |
Definition at line 1634 of file search.cc.
References Search::BaseTask::_foreach_action, cdbg, Search::action_cache::cost, id(), Search::action_cache::is_opt, Search::action_cache::k, Search::search_private::memo_foreach_action, Search::search_private::meta_t, Search::search_private::metaoverride, Search::action_cache::min_cost, and Search::BaseTask::sch.
Referenced by search_predict().
void Search::free_final_item | ( | final_item * | p | ) |
Definition at line 2056 of file search.cc.
References Search::final_item::prefix.
void Search::free_key | ( | unsigned char * | mem, |
scored_action | |||
) |
Definition at line 277 of file search.cc.
Referenced by clear_cache_hash_map().
void Search::generate_training_example | ( | search_private & | priv, |
polylabel & | losses, | ||
float | weight, | ||
bool | add_conditioning = true , |
||
float | min_loss = FLT_MAX |
||
) |
Definition at line 1490 of file search.cc.
References a, add_example_conditioning(), LEARNER::as_multiline(), LEARNER::as_singleline(), Search::search_private::base_learner, v_array< T >::begin(), polylabel::cb, Search::search_private::cb_learner, cdbg, CB::label::costs, COST_SENSITIVE::label::costs, polylabel::cs, cs_get_costs_size(), Search::search_private::current_policy, del_example_conditioning(), COST_SENSITIVE::ec_is_example_header(), example_predict::ft_offset, example::in_use, Search::search_private::is_ldf, example::l, LEARNER::learner< T, E >::learn(), Search::search_private::learn_condition_on, Search::search_private::learn_condition_on_act, Search::search_private::learn_condition_on_names, Search::search_private::learn_ec_ref, Search::search_private::learn_ec_ref_cnt, Search::search_private::learn_learner_id, Search::search_private::offset, select_learner(), v_array< T >::size(), Search::search_private::total_examples_generated, and Search::search_private::xv.
Referenced by search_predict(), and train_single_example().
void Search::get_training_timesteps | ( | search_private & | priv, |
v_array< size_t > & | timesteps | ||
) |
Definition at line 1983 of file search.cc.
References Search::search_private::_random_state, Search::search_private::active_csoaa, Search::search_private::active_known, Search::search_private::active_uncertainty, v_array< T >::begin(), v_array< T >::clear(), cmp_size_t(), v_array< T >::end(), hoopla_permute(), Search::search_private::linear_ordering, v_array< T >::push_back(), v_array< T >::size(), Search::search_private::subsample_timesteps, Search::search_private::T, and v_array_contains().
Referenced by train_single_example().
void Search::handle_condition_options | ( | vw & | all, |
auto_condition_settings & | acset | ||
) |
Definition at line 2543 of file search.cc.
References VW::config::option_group_definition::add(), VW::config::options_i::add_and_parse(), f, Search::auto_condition_settings::feature_value, VW::config::make_option(), Search::auto_condition_settings::max_bias_ngram_length, Search::auto_condition_settings::max_quad_ngram_length, vw::options, and Search::auto_condition_settings::use_passthrough_repr.
Referenced by setup().
void Search::hoopla_permute | ( | size_t * | B, |
size_t * | end | ||
) |
Definition at line 1948 of file search.cc.
References absdiff(), and cmp_size_t().
Referenced by get_training_timesteps().
bool Search::mc_label_is_test | ( | polylabel & | lab | ) |
Definition at line 2484 of file search.cc.
References MULTICLASS::mc_label, polylabel::multi, and label_parser::test_label.
Referenced by search_initialize().
bool Search::might_print_update | ( | vw & | all | ) |
Definition at line 461 of file search.cc.
References vw::bfgs, shared_data::dump_interval, vw::quiet, vw::sd, and shared_data::weighted_examples().
Referenced by do_actual_learning(), must_run_test(), and train_single_example().
Definition at line 473 of file search.cc.
References vw::current_pass, vw::final_prediction_sink, vw::holdout_set_off, might_print_update(), vw::quiet, vw::raw_prediction, v_array< T >::size(), and vw::vw_is_main.
Referenced by train_single_example().
|
inline |
Definition at line 370 of file search.cc.
References INIT_TRAIN, Search::search_private::metaoverride, Search::search_private::metatask, and Search::search_private::state.
Referenced by choose_oracle_action(), search_predict(), single_prediction_LDF(), and single_prediction_notLDF().
std::string Search::neighbor_feature_space | ( | "neighbor" | ) |
Referenced by add_neighbor_features().
std::string Search::number_to_natural | ( | size_t | big | ) |
Definition at line 512 of file search.cc.
Referenced by print_update().
std::ostream& Search::operator<< | ( | std::ostream & | os, |
const scored_action & | x | ||
) |
Definition at line 97 of file search.cc.
References Search::scored_action::a, and Search::scored_action::s.
std::ostream& Search::operator<< | ( | std::ostream & | os, |
const action_cache & | x | ||
) |
Definition at line 131 of file search.cc.
References Search::action_cache::cost, Search::action_cache::is_opt, and Search::action_cache::k.
void Search::parse_neighbor_features | ( | std::string & | nf_string, |
search & | sch | ||
) |
Definition at line 2627 of file search.cc.
References v_array< T >::clear(), int_of_substring(), Search::search_private::neighbor_features, Search::search::priv, v_array< T >::push_back(), and tokenize().
Referenced by setup().
void Search::print_update | ( | search_private & | priv | ) |
Definition at line 527 of file search.cc.
References Search::search_private::active_csoaa, Search::search_private::all, Search::search_private::beta, vw::current_pass, Search::search_private::current_policy, shared_data::example_number, Search::search_private::hit_new_pass, vw::holdout_set_off, shared_data::holdout_sum_loss, shared_data::holdout_sum_loss_since_last_dump, Search::search_private::num_calls_to_run, number_to_natural(), shared_data::old_weighted_labeled_examples, Search::search_private::pred_string, Search::search_private::printed_output_header, vw::progress_add, vw::progress_arg, vw::quiet, Search::search_private::read_example_last_pass, safediv(), vw::sd, should_print_update(), Search::search_private::start_clock_time, shared_data::sum_loss, shared_data::sum_loss_since_last_dump, to_short_string(), Search::search_private::total_cache_hits, Search::search_private::total_examples_generated, Search::search_private::total_predictions_made, Search::search_private::truth_string, shared_data::update_dump_interval(), shared_data::weighted_holdout_examples, shared_data::weighted_holdout_examples_since_last_dump, and shared_data::weighted_labeled_examples.
Referenced by finish_multiline_example().
void Search::push_at | ( | v_array< T > & | v, |
T | item, | ||
size_t | pos | ||
) |
Definition at line 1074 of file search.cc.
References v_array< T >::begin(), v_array< T >::end(), v_array< T >::end_array, v_array< T >::resize(), and v_array< T >::size().
Referenced by Search::search::predict(), Search::search::predictLDF(), and search_predict().
size_t Search::random | ( | std::shared_ptr< rand_state > & | rs, |
size_t | max | ||
) |
Definition at line 768 of file search.cc.
Referenced by choose_oracle_action().
int Search::random_policy | ( | search_private & | priv, |
bool | allow_current, | ||
bool | allow_optimal, | ||
bool | advance_prng = true |
||
) |
Definition at line 376 of file search.cc.
References Search::search_private::_random_state, Search::search_private::beta, Search::search_private::current_policy, f, and ldamath::powf().
Referenced by choose_policy().
Definition at line 2579 of file search.cc.
References c, f, v_array< T >::push_back(), and THROW.
Referenced by setup().
void Search::reset_search_structure | ( | search_private & | priv | ) |
Definition at line 690 of file search.cc.
References Search::search_private::_random_state, Search::search_private::adaptive_beta, Search::search_private::alpha, Search::search_private::beta, Search::search_private::cb_learner, features::delete_v(), Search::search_private::done_with_all_actions, Search::search_private::force_setup_ec_ref, Search::search_private::learn_loss, Search::search_private::loss_declared_cnt, Search::search_private::meta_t, Search::search_private::mix_per_roll_policy, Search::search_private::num_features, Search::search_private::ptag_to_action, Search::search_private::read_example_last_id, Search::action_repr::repr, Search::search_private::should_produce_string, Search::search_private::t, Search::search_private::test_loss, Search::search_private::total_examples_generated, and Search::search_private::train_loss.
Referenced by do_actual_learning(), and train_single_example().
Definition at line 2098 of file search.cc.
References GET_TRUTH_STRING, Search::search_private::metatask, Search::search_private::num_calls_to_run, Search::search::priv, Search::search_task::run, Search::search_metatask::run, Search::search_private::state, and Search::search_private::task.
Referenced by do_actual_learning(), and train_single_example().
float Search::safediv | ( | float | a, |
float | b | ||
) |
void Search::search_declare_loss | ( | search_private & | priv, |
float | loss | ||
) |
Definition at line 730 of file search.cc.
References cdbg, INIT_TEST, INIT_TRAIN, LEARN, Search::search_private::learn_loss, loss(), Search::search_private::loss_declared_cnt, Search::search_private::rollout_num_steps, Search::search_private::state, Search::search_private::test_loss, and Search::search_private::train_loss.
Referenced by Search::search::loss().
void Search::search_finish | ( | search & | sch | ) |
Definition at line 2565 of file search.cc.
References Search::search_private::active_csoaa, cdbg, Search::search_task::finish, Search::search_metatask::finish, Search::search_private::metatask, Search::search_private::num_calls_to_run, Search::search::priv, and Search::search_private::task.
Referenced by setup().
Definition at line 2486 of file search.cc.
References Search::search_private::_random_state, Search::search_private::acset, Search::search_private::active_csoaa, Search::search_private::active_known, Search::search_private::active_uncertainty, Search::search_private::adaptive_beta, Search::search_private::all, Search::search_private::allow_current_policy, Search::search_private::bad_string_stream, Search::search_private::cache_hash_map, cached_item_equivalent(), COST_SENSITIVE::cs_label, Search::search_private::dat_new_feature_audit_ss, label_parser::default_label, Search::search_private::empty_cs_label, Search::auto_condition_settings::feature_value, vw::get_random_state(), INITIALIZE, Search::search_private::label_is_test, Search::auto_condition_settings::max_bias_ngram_length, mc_label_is_test(), MIX_PER_ROLL, Search::search_private::mix_per_roll_policy, Search::search_private::num_learners, Search::search_private::pred_string, Search::search::priv, Search::search_private::rawOutputString, Search::search_private::rawOutputStringStream, Search::search_private::rollin_method, Search::search_private::rollout_method, Search::search_private::state, Search::search::task_data, Search::search_private::test_action_sequence, Search::search_private::total_number_of_policies, and Search::search_private::truth_string.
Referenced by setup().
action Search::search_predict | ( | search_private & | priv, |
example * | ecs, | ||
size_t | ec_cnt, | ||
ptag | mytag, | ||
const action * | oracle_actions, | ||
size_t | oracle_actions_cnt, | ||
const ptag * | condition_on, | ||
const char * | condition_on_names, | ||
const action * | allowed_actions, | ||
size_t | allowed_actions_cnt, | ||
const float * | allowed_actions_cost, | ||
size_t | learner_id, | ||
float & | a_cost, | ||
float | |||
) |
Definition at line 1652 of file search.cc.
References Search::BaseTask::_foreach_action, Search::BaseTask::_maybe_override_prediction, Search::BaseTask::_post_prediction, a, Search::search_private::A, Search::search_private::acset, add_example_conditioning(), Search::search_private::all, allowed_actions_to_label(), vw::audit, Search::search_private::auto_condition_features, v_array< T >::begin(), cached_action_store_or_find(), cdbg, cdbg_print_array(), choose_oracle_action(), choose_policy(), features::clear(), Search::search_private::condition_on_actions, VW::copy_example_data(), label_parser::copy_label, COST_SENSITIVE::label::costs, polylabel::cs, COST_SENSITIVE::cs_label, del_example_conditioning(), Search::search_private::done_with_all_actions, COST_SENSITIVE::ec_is_example_header(), v_array< T >::end(), ensure_size(), Search::search_private::examples_dont_change, Search::search_private::force_oracle, foreach_action_from_cache(), generate_training_example(), GET_TRUTH_STRING, Search::search_private::gte_label, features::indicies, INIT_TEST, INIT_TRAIN, Search::search_private::is_ldf, Search::search_private::last_action_repr, LEARN, Search::search_private::learn_a_idx, Search::search_private::learn_allowed_actions, Search::search_private::learn_condition_on, Search::search_private::learn_condition_on_act, Search::search_private::learn_condition_on_names, Search::search_private::learn_ec_copy, Search::search_private::learn_ec_ref, Search::search_private::learn_ec_ref_cnt, Search::search_private::learn_learner_id, Search::search_private::learn_oracle_action, Search::search_private::learn_t, Search::search_private::loss_declared_cnt, Search::search_private::memo_foreach_action, Search::search_private::meta_t, Search::search_private::metaoverride, need_memo_foreach_action(), NO_ROLLOUT, example::passthrough, Search::search_private::ptag_to_action, push_at(), Search::search_private::rollout_method, Search::search_private::rollout_num_steps, Search::BaseTask::sch, select_learner(), single_prediction_LDF(), single_prediction_notLDF(), features::size(), Search::search_private::state, Search::search_private::t, example::test_only, THROW, Search::search_private::total_cache_hits, Search::search_private::train_trajectory, vw::training, Search::search_private::use_action_costs, Search::auto_condition_settings::use_passthrough_repr, and features::values.
Referenced by Search::search::predict(), and Search::search::predictLDF().
bool Search::search_predictNeedsExample | ( | search_private & | priv | ) |
Definition at line 1601 of file search.cc.
References choose_policy(), GET_TRUTH_STRING, INIT_TEST, INIT_TRAIN, INITIALIZE, LEARN, Search::search_private::learn_t, Search::search_private::loss_declared_cnt, Search::search_private::meta_t, NO_ROLLOUT, Search::search_private::rollout_method, Search::search_private::rollout_num_steps, Search::search_private::state, and Search::search_private::t.
Referenced by Search::search::predictNeedsExample().
int Search::select_learner | ( | search_private & | priv, |
int | policy, | ||
size_t | learner_id, | ||
bool | is_training, | ||
bool | is_local | ||
) |
Definition at line 432 of file search.cc.
References Search::search_private::all, shared_data::example_number, Search::search_private::num_learners, vw::sd, and Search::search_private::xv.
Referenced by generate_training_example(), and search_predict().
LEARNER::base_learner * Search::setup | ( | options_i & | options, |
vw & | all | ||
) |
Definition at line 2671 of file search.cc.
References Search::search_private::A, VW::config::option_group_definition::add(), VW::config::options_i::add_and_parse(), CB::cb_label, cdbg, vw::check_holdout_every_n_passes, COST_SENSITIVE::cs_label, label_parser::default_label, parser::emptylines_separate_examples, end_examples(), LEARNER::end_pass(), ensure_param(), f, finish_multiline_example(), VW::config::options_i::get_typed_option(), handle_condition_options(), LEARNER::init_learner(), VW::config::options_i::insert(), vw::label_type, parser::lp, LEARNER::make_base(), VW::config::make_option(), label_type::mc, MULTICLASS::mc_label, MIX_PER_ROLL, MIX_PER_STATE, NO_ROLLOUT, vw::numpasses, vw::options, ORACLE, vw::p, parse_neighbor_features(), POLICY, read_allowed_transitions(), VW::config::options_i::replace(), search_finish(), search_initialize(), vw::searchstr, LEARNER::learner< T, E >::set_end_examples(), LEARNER::learner< T, E >::set_end_pass(), LEARNER::learner< T, E >::set_finish(), LEARNER::learner< T, E >::set_finish_example(), setup_base(), THROW, prediction_type::to_string(), vw::training, and VW::config::options_i::was_supplied().
Referenced by parse_reductions().
bool Search::should_print_update | ( | vw & | all, |
bool | hit_new_pass = false |
||
) |
Definition at line 449 of file search.cc.
References vw::bfgs, shared_data::dump_interval, vw::quiet, vw::sd, and shared_data::weighted_examples().
Referenced by print_update().
action Search::single_prediction_LDF | ( | search_private & | priv, |
example * | ecs, | ||
size_t | ec_cnt, | ||
int | policy, | ||
float & | a_cost, | ||
action | override_action | ||
) |
Definition at line 1310 of file search.cc.
References Search::BaseTask::_foreach_action, a, LabelDict::add_example_namespaces_from_example(), LEARNER::as_multiline(), Search::search_private::base_learner, cdbg, Search::action_cache::cost, COST_SENSITIVE::label::costs, polylabel::cs, COST_SENSITIVE::cs_label, label_parser::default_label, LabelDict::del_example_namespaces_from_example(), v_array< T >::delete_v(), COST_SENSITIVE::ec_is_example_header(), example_predict::ft_offset, Search::search_private::is_ldf, Search::action_cache::is_opt, Search::action_cache::k, example::l, Search::search_private::ldf_test_label, Search::search_private::memo_foreach_action, Search::search_private::metaoverride, Search::action_cache::min_cost, need_memo_foreach_action(), example::num_features, Search::search_private::num_features, Search::search_private::offset, example::partial_prediction, LEARNER::learner< T, E >::predict(), v_array< T >::push_back(), Search::BaseTask::sch, v_array< T >::size(), Search::search_private::t, and Search::search_private::total_predictions_made.
Referenced by search_predict().
action Search::single_prediction_notLDF | ( | search_private & | priv, |
example & | ec, | ||
int | policy, | ||
const action * | allowed_actions, | ||
size_t | allowed_actions_cnt, | ||
const float * | allowed_actions_cost, | ||
float & | a_cost, | ||
action | override_action | ||
) |
Definition at line 1163 of file search.cc.
References Search::BaseTask::_foreach_action, Search::search_private::active_csoaa, Search::search_private::active_known, Search::search_private::active_uncertainty, Search::search_private::all, allowed_actions_to_ld(), LEARNER::as_singleline(), Search::search_private::base_learner, Search::search_private::cb_learner, cdbg, COST_SENSITIVE::wclass::class_index, COST_SENSITIVE::label::costs, polylabel::cs, cs_get_cost_index(), cs_get_cost_partial_prediction(), cs_get_costs_size(), Search::search_private::empty_cs_label, INIT_TEST, INIT_TRAIN, example::l, MULTILABEL::labels::label_v, Search::search_private::memo_foreach_action, Search::search_private::meta_t, Search::search_private::metaoverride, polyprediction::multiclass, polyprediction::multilabels, need_memo_foreach_action(), example::num_features, Search::search_private::num_features, example::partial_prediction, example::pred, LEARNER::learner< T, E >::predict(), vw::print_text, v_array< T >::push_back(), vw::raw_prediction, Search::search_private::rawOutputStringStream, Search::BaseTask::sch, Search::search_private::state, Search::search_private::subsample_timesteps, Search::search_private::t, example::tag, THROW, Search::search_private::total_predictions_made, and v_array_contains().
Referenced by search_predict().
bool Search::size_equal | ( | size_t | a, |
size_t | b | ||
) |
bool Search::string_equal | ( | std::string | a, |
std::string | b | ||
) |
void Search::to_short_string | ( | std::string | in, |
size_t | max_len, | ||
char * | out | ||
) |
Definition at line 499 of file search.cc.
Referenced by print_update().
void Search::train_single_example | ( | search & | sch, |
bool | is_test_ex, | ||
bool | is_holdout_ex, | ||
multi_ex & | ec_seq | ||
) |
Definition at line 2171 of file search.cc.
References Search::search_private::active_csoaa, Search::search_private::active_csoaa_verify, Search::search_private::active_known, Search::search_private::active_uncertainty, advance_from_known_actions(), Search::search_private::all, polylabel::cb, Search::search_private::cb_learner, cdbg, v_array< T >::clear(), clear_cache_hash_map(), clear_memo_foreach_action(), CB::label::costs, COST_SENSITIVE::label::costs, polylabel::cs, cs_cost_push_back(), COST_SENSITIVE::cs_label, Search::search_private::current_policy, label_parser::delete_label, Search::search_private::done_with_all_actions, Search::search_private::examples_dont_change, vw::final_prediction_sink, vw::final_regressor_name, Search::search_private::force_setup_ec_ref, generate_training_example(), get_training_timesteps(), INIT_TEST, INIT_TRAIN, Search::search_private::is_ldf, LEARN, Search::search_private::learn_a_idx, Search::search_private::learn_allowed_actions, Search::search_private::learn_ec_copy, Search::search_private::learn_ec_ref, Search::search_private::learn_ec_ref_cnt, Search::search_private::learn_loss, Search::search_private::learn_losses, Search::search_private::learn_t, Search::search_private::loss_declared_cnt, MULTICLASS::mc_label, Search::search_private::memo_foreach_action, Search::search_private::meta_t, Search::search_private::metatask, might_print_update(), must_run_test(), NO_ROLLOUT, Search::search_private::num_calls_to_run, Search::search_private::num_calls_to_run_previous, Search::search_private::num_features, Search::search_private::pred_string, vw::print_text, Search::search::priv, vw::raw_prediction, Search::search_private::read_example_last_pass, reset_search_structure(), Search::search_private::rollout_method, run_task(), Search::search_private::save_every_k_runs, save_predictor(), vw::sd, Search::search_private::should_produce_string, v_array< T >::size(), Search::search_private::state, Search::search_private::t, Search::search_private::T, Search::search_private::test_action_sequence, Search::search_private::test_loss, Search::search_private::timesteps, Search::search_private::train_trajectory, vw::training, shared_data::update(), verify_active_csoaa(), and vw::vw_is_main.
bool Search::uint32_equal | ( | uint32_t | a, |
uint32_t | b | ||
) |
void Search::verify_active_csoaa | ( | COST_SENSITIVE::label & | losses, |
v_array< std::pair< CS::wclass &, bool >> & | known, | ||
size_t | t, | ||
float | multiplier | ||
) |
Definition at line 2108 of file search.cc.
References cdbg, COST_SENSITIVE::wclass::class_index, COST_SENSITIVE::label::costs, and COST_SENSITIVE::wclass::x.
Referenced by train_single_example().
uint32_t Search::ACTION_COSTS = 32 |
Definition at line 50 of file search.cc.
Referenced by DepParserTask::initialize(), SequenceTaskCostToGo::initialize(), and Search::search::set_options().
search_metatask* Search::all_metatasks[] |
search_task* Search::all_tasks[] |
uint32_t Search::AUTO_CONDITION_FEATURES = 1 |
Definition at line 49 of file search.cc.
Referenced by SequenceTask::initialize(), DepParserTask::initialize(), SequenceSpanTask::initialize(), SequenceTaskCostToGo::initialize(), ArgmaxTask::initialize(), and SequenceTask_DemoLDF::initialize().
uint32_t Search::AUTO_HAMMING_LOSS = 2 |
Definition at line 49 of file search.cc.
Referenced by SequenceTask::initialize(), SequenceSpanTask::initialize(), SequenceTaskCostToGo::initialize(), SequenceTask_DemoLDF::initialize(), and Search::search::set_options().
uint32_t Search::EXAMPLES_DONT_CHANGE = 4 |
Definition at line 49 of file search.cc.
Referenced by SequenceTask::initialize(), SequenceSpanTask::initialize(), SequenceTaskCostToGo::initialize(), ArgmaxTask::initialize(), and Search::search::set_options().
uint32_t Search::IS_LDF = 8 |
Definition at line 49 of file search.cc.
Referenced by EntityRelationTask::initialize(), SequenceTask_DemoLDF::initialize(), and Search::search::set_options().
uint32_t Search::NO_CACHING = 16 |
Definition at line 49 of file search.cc.
Referenced by DepParserTask::initialize(), and Search::search::set_options().